1

如何使用两个搜索文本参数 pg-search + 搜索过滤器 1 + 搜索过滤器 2 进行 Postgres 搜索。

如何在pg_Search 输出中搜索我想要“过滤器 1”和“过滤器 1”的联合

 @output = PgSearch.multisearch("filter 1") +  PgSearch.multisearch("filter 2")
4

1 回答 1

2

我是 pg_search 的作者和维护者。

在 PostgreSQL 全文搜索中,搜索词默认通过 AND 连接。因此,您可以简单地这样做:

 @output = PgSearch.multisearch("filter 1 filter 2")

假设您在字符串变量中有查询词,它看起来像以下之一:

 @output = PgSearch.multisearch("#{query1} #{query2}") # if query1 and query2 are strings
 @output = PgSearch.multisearch(queries.join(" "))     # if queries is an array of strings

通过 OR 加入要复杂得多。我还没有一个简单的解决方案,尽管它应该是可能的。

于 2012-10-13T18:56:16.353 回答