首页 文章

从Solr facets获得结果

提问于
浏览
2

我对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文档和计数“lion”的计数:

{
  "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 回答

  • 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

相关问题