使用 pg_search 搜索特殊字符
Search special characters with pg_search
我正在使用
pg_search
并尝试在标题中搜索特殊字符。
例如,我有两行包含以下信息:
id title
1 GT40
2 #GT40
所以当我搜索“#GT40”时,带有pg_search的结果将是1和2。但是我想搜索精确的词,所以结果将只有2。
谢谢!
我尝试写评论,但我的声誉还不够高。但是也许 pg_search
无法实现您想要做的事情?
pg_search 基于 PostgreSQL 的全文搜索。在控制台中的测试显示 "GT40" 和“#GT40”被索引到相同的词位(这意味着您的搜索无法区分它们):
"GT40":
=# SELECT to_tsvector('english', 'GT40');
to_tsvector
-------------
'gt40':1
(1 row)
"#GT40":
=# 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
我正在使用
pg_search
并尝试在标题中搜索特殊字符。
例如,我有两行包含以下信息:
id title
1 GT40
2 #GT40
所以当我搜索“#GT40”时,带有pg_search的结果将是1和2。但是我想搜索精确的词,所以结果将只有2。
谢谢!
我尝试写评论,但我的声誉还不够高。但是也许 pg_search
无法实现您想要做的事情?
pg_search 基于 PostgreSQL 的全文搜索。在控制台中的测试显示 "GT40" 和“#GT40”被索引到相同的词位(这意味着您的搜索无法区分它们):
"GT40":
=# SELECT to_tsvector('english', 'GT40');
to_tsvector
-------------
'gt40':1
(1 row)
"#GT40":
=# 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