如何在solr中搜索多个方面?

时间:2011-11-09 12:38:47

标签: solr facet

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

  • fq = country:usa
  • fq = country:canada
  • fq = topic:industrial
  • fq = topic:political
  • 现在我需要搜索具有上述方面(逻辑和)和(逻辑或)的文章 假设我有以下文章

    1. country = USA France //主题:Industrial Scientific
    2. country = USA canada //主题:工业
    3. country = USA canada //主题:工业政治
    4. 现在,我试过了

      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在他们之间搜索这些面孔 谢谢你的帮助

    2 个答案:

    答案 0 :(得分:3)

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

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

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

    答案 1 :(得分:0)

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

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

    它喜欢它,因为每个fq可以单独指定(和缓存),并且fq的AND / OR逻辑被分离出来。你的情况非常简单,上面的答案很好,但是当你得到一些令人讨厌的fq时,简单地将它们放在一起就不够强大。