PSQL:全文搜索以忽略或匹配句点和停止字符
PSQL: Full text search to ignore or match periods and stop characters
我可以使用 tsvector
/ tsquery
:
进行全文搜索 运行
to_tsvector('simple', text) @@ plainto_tsquery('simple', :query)
我正在格式化查询以包含部分匹配项:
{ query: `${searchTerm}:*` }
但是,如果我搜索 'node'
,它与包含 'node.js'
.
的文本不匹配
如何包含具有句点或其他类似停止符的部分匹配项?
将 :*
附加到搜索词,然后将其传递给 plainto_tsquery 没有任何意义,因为 plainto_tsquery 只是再次去掉 :*
。您需要使用 to_tsquery,或者直接编写查询。例如,
select to_tsvector('simple', 'node.js') @@ 'node:*'::tsquery;
结果为真。
我可以使用 tsvector
/ tsquery
:
to_tsvector('simple', text) @@ plainto_tsquery('simple', :query)
我正在格式化查询以包含部分匹配项:
{ query: `${searchTerm}:*` }
但是,如果我搜索 'node'
,它与包含 'node.js'
.
如何包含具有句点或其他类似停止符的部分匹配项?
将 :*
附加到搜索词,然后将其传递给 plainto_tsquery 没有任何意义,因为 plainto_tsquery 只是再次去掉 :*
。您需要使用 to_tsquery,或者直接编写查询。例如,
select to_tsvector('simple', 'node.js') @@ 'node:*'::tsquery;
结果为真。