使用pg_search

时间:2015-06-09 19:42:59

标签: ruby-on-rails ruby utf-8 pg-search

我正在使用

  

pg_search

尝试在标题中搜索特殊字符。

例如,我有两行信息:

id    title
1     GT40
2     #GT40

所以当我搜索“#GT40”时,pg_search的结果将是1和2.但我想搜索exaclty字,所以结果只有2。

谢谢!

1 个答案:

答案 0 :(得分:3)

我试着写评论,但我的声誉还不够高。但也许pg_search无法实现你想做的事情?

pg_search基于PostgreSQL的全文搜索。在控制台中进行测试表明" GT40"和#34;#GT40"被索引到相同的词汇(这意味着您的搜索无法区分它们):

<强> &#34; GT40&#34;

=# SELECT to_tsvector('english', 'GT40');
 to_tsvector 
-------------
 'gt40':1
(1 row)

<强> &#34;#GT40&#34;

=# SELECT to_tsvector('english', '#GT40');
 to_tsvector 
-------------
 'gt40':1
(1 row)

以下是一些可能有用的参考信息:

教程:http://shisaa.jp/postset/postgresql-full-text-search-part-1.html

PostgreSQL的全文搜索参考:http://www.postgresql.org/docs/9.1/static/textsearch.html