3

我需要在 solr 中搜索方面,如下所示:

  • fq=国家:美国
  • fq=国家:加拿大
  • fq=主题:工业
  • fq=主题:政治
  • 现在我需要搜索具有上述方面(逻辑与)和(逻辑或)的文章。
    假设我有以下文章

    1. country=USA France //主题:英思科
    2. country=USA canada //主题:工业
    3. country=USA canada //话题:工业政治

    现在,我试过了

    http://127.0.0.1:8888/solr/Collection1/select?q=*:*&start=0&rows=10&facet=true&fq=country:USA&fq=country:canada&fq=topic:political&fq=topic:industrial
    

    但这没有返回任何东西:(你能指导我如何通过它们之间的ANDing和ORing来搜索这些面孔吗?
    谢谢你的帮助

    4

    2 回答 2

    3

    您可以使用布尔运算符来过滤结果。

    或者 -fq=country:(USA OR canada)&fq=topic:(political OR industrial)

    和 -fq=country:(USA AND canada)&fq=topic:(political AND industrial)

    于 2011-11-09T12:54:28.473 回答
    0

    如果 Solr 开发人员实现了这个功能请求,这种事情会更容易:

    https://issues.apache.org/jira/browse/SOLR-1223

    它喜欢它,因为这样每个 fq 都可以单独指定(和缓存),并且 fq 的 AND/OR 逻辑被分离出来。您的案例非常简单,上面的答案也很好,但是当您得到一些讨厌的 fq 时,将它们全部加在一起是不够强大的。

    于 2011-11-09T13:13:04.487 回答