2

我已经在我的应用程序中实现了 Postgres 9.6 trigram search https://www.postgresql.org/docs/9.6/static/pgtrgm.html,它适用于单个搜索词。

我看不到如何允许我的用户进行 AND OR NOT 搜索。

目前,如果我将“perl”放入搜索字段,它将返回数百个结果。这很棒,而且效果很好。

现在,如果我想搜索包含“perl”和“javascript”的文档,无论我输入什么搜索词,都不会返回任何结果。

例如,我尝试过:

"perl javascript"
"perl AND javascript"
"perl && javascript"

因此,我正在努力研究如何为最终用户提供比仅单个词更复杂的搜索。我希望我的应用程序用户能够使用和/或/不进行全文搜索。

可能吗?如果是,语法是什么?

4

1 回答 1

2

该查询发现...

包含“perl”和“javascript”的文档

SELECT *
FROM   tbl
WHERE  document ~ 'perl'
AND    document ~ 'javascript';

请注意,“perlane”或“javascripting”或“Kaperl”也符合条件。要搜索整个单词,您可能会对文本搜索感兴趣。概述:

于 2017-07-24T02:06:45.733 回答