我对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 Other或SOLR - Querying Facets, return N results per Facet),但他们的答案似乎都不适用于我,也许是因为我在所有文档中做了一些方面(q=*:*
)。
欢迎任何帮助:)
答案 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