当前位置:  开发笔记 > 数据库 > 正文

具有pg_trgm的Postgres中的相似性函数

如何解决《具有pg_trgm的Postgres中的相似性函数》经验,为你挑选了3个好方法。

我正在尝试使用Postgres中的相似度函数来进行模糊文本匹配,但每当我尝试使用它时,我都会收到错误:

function similarity(character varying, unknown) does not exist

如果我向文本添加显式强制转换,我会收到错误:

function similarity(text, text) does not exist

我的查询是:

SELECT (similarity("table"."field"::text, %s::text)) AS "similarity", "table".* FROM "table" WHERE similarity > .5 ORDER BY "similarity" DESC LIMIT 10

我是否需要做一些事情才能将pg_trgm初始化?



1> morja..:

使用postgresql 9.1:

安装后(在ubuntu上),sudo apt-get install postgresql-contrib因为tomaszbak回答.

你只需要执行sql命令:

CREATE EXTENSION pg_trgm;



2> Tobu..:

你必须安装pg_trgm.在debian中,源码这个sql : /usr/share/postgresql/8.4/contrib/pg_trgm.sql. 从命令行:

psql -f /usr/share/postgresql/8.4/contrib/pg_trgm.sql

或者在psql shell中:

\i /usr/share/postgresql/8.4/contrib/pg_trgm.sql

该脚本默认安装在公共模式中,如果要将其安装在其他位置,则编辑顶部的搜索路径(以便可以通过删除模式来完成卸载/升级).



3> tomaszbak..:

在ubuntu上你需要运行

sudo apt-get install postgresql-contrib

获取/usr/share/postgresql/8.4/contrib/pg_trgm.sql

推荐阅读
爱唱歌的郭少文_
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有