基本上,我希望能够为这样的查询获得完全匹配(包括主题标签):
=#SELECT to_tsvector('english', '#adoption');
to_tsvector
-------------
'adopt':1
相反,我想要以#开头的单词,看看:
=#SELECT to_tsvector('english', '#adoption');
to_tsvector
-------------
'#adoption':1
这可以用psql全文搜索吗?
答案 0 :(得分:1)
在搜索或编制索引之前,您可以将每个#
字符替换为您在文本中未使用的其他字符,但这会改变解析器的解释:
test=> SELECT alias, lexemes FROM ts_debug('english', '#adoption');
┌───────────┬─────────┐
│ alias │ lexemes │
├───────────┼─────────┤
│ blank │ │
│ asciiword │ {adopt} │
└───────────┴─────────┘
(2 rows)
test=> SELECT alias, lexemes FROM ts_debug('english', '/adoption');
┌───────┬─────────────┐
│ alias │ lexemes │
├───────┼─────────────┤
│ file │ {/adoption} │
└───────┴─────────────┘
(1 row)