【问题标题】:What is the syntax for AND OR NOT in Postgres trigram search?Postgres trigram 搜索中 AND OR NOT 的语法是什么?
【发布时间】:2017-07-24 00:48:23
【问题描述】:

我已经在我的应用程序中实现了 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"

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

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

【问题讨论】:

  • AND OR NOT searches 没有描述您的问题。请更具体。
  • 嗨 Erwin 我已经用更具体的用例更新了这个问题 - 更清楚吗?谢谢。

标签: postgresql pattern-matching full-text-search trigram pg-trgm


【解决方案1】:

这个查询找到...

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

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

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

【讨论】:

    猜你喜欢
    • 2013-06-02
    • 1970-01-01
    • 1970-01-01
    • 2018-06-14
    • 2017-11-16
    • 1970-01-01
    • 1970-01-01
    • 2015-06-15
    • 1970-01-01
    相关资源
    最近更新 更多