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;

结果为真。