从Solr facets获得结果

时间:2016-08-26 11:12:06

标签: solr facet faceted-search

我对Solr很新,所以我不知道我想要实现的是否真的可行。 目前,我正在查询我的Solr以检索与多个facet查询中的条件匹配的结果数量。 例如:

localhost:8082/solr/dict/select?q=*:*&rows=0&wt=json&indent=true&facet=true&facet.query=dict1:"#tiger#"&facet.query=dict1:"#lion#"

通过这种查询,我在字段“dict1”中得到包含“tiger”的Solr文档的数量和那些用“狮子”组成的数量:

 {
  "responseHeader": {
    "status": 0,
    "QTime": 239,
    "params": {
      "facet.query": [
        "dict1:\"#tiger#\"",
        "dict1:\"#lion#\""
      ],
      "q": "*:*",
      "indent": "true",
      "rows": "0",
      "wt": "json",
      "facet": "true"
    }
  },
  "response": {
    "numFound": 37278987,
    "start": 0,
    "docs": [ ]
  },
  "facet_counts": {
    "facet_queries": {
      "dict1:\"#tiger#\"": 6,
      "dict1:\"#lion#\"": 10
    },
    [...]
  }
}

问题是,现在我需要为每个方面得到一些结果,除了计数(例如,“虎”的三个结果和“狮子”的三个结果)

我已经阅读了一些类似的问题(Solr Facetting - Showing First 10 results and OtherSOLR - Querying Facets, return N results per Facet),但他们的答案似乎都不适用于我,也许是因为我在所有文档中做了一些方面(q=*:* )。

欢迎任何帮助:)

1 个答案:

答案 0 :(得分:1)

根据邮件列表,仅仅使用分组呢?

solr/hotels/search?q=*%3A*&wt=json&indent=true&group=true&group.query=query1&group.query=query2&group.limit=3 [1]

这对你好吗?这将返回2个组(每个查询1个)以及相关计数和最大文档数。

[1] https://cwiki.apache.org/confluence/display/solr/Result+Grouping

相关问题