Я довольно новичок в Solr, поэтому я не знаю, действительно ли то, что я хотел бы достичь, реально или нет. В настоящее время я запрашиваю у своего Solr, чтобы получить количество результатов, соответствующих условиям в нескольких фасетных запросах. Например:Получить результаты от Solr facets
localhost:8082/solr/dict/select?q=*:*&rows=0&wt=json&indent=true&facet=true&facet.query=dict1:"#tiger#"&facet.query=dict1:"#lion#"
При таком запросе, я получаю кол Solr документы, содержащие «тигра» и подсчет тех cointaining «лев», в поле «dict1»:
{
"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=*:*
).
Любая помощь будет приветствоваться :)
Я не знаю, как ваш случай отличается от стратегии группировки, описанной в последней ссылке вы включены? – MatsLindh
Потому что мой поиск \ *: \ *, я имею в виду, я выполняю фасет, чтобы соответствовать тигру или льву по всем элементам, а стратегия, указанная в последней ссылке, заключается в том, что запрос «делает что-то» ». Например, если я запрашиваю с «dict1: тигр», а затем добавляю групповую фильтрацию, как во второй ссылке, это вроде работает, но это не нужный подход ... – motagirl2