我有一个全文搜索运行良好使用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;
收益率真实。