Как уже упоминалось, используйте debugQuery = true.Ответ будет включать раздел «объяснить».По умолчанию это даст вам ужасно отформатированный текст, который выглядит следующим образом:
0.69102794 = (MATCH) weight(body:arrai^1.5 in 6357), product of:
0.46610788 = queryWeight(body:arrai^1.5), product of:
1.5 = boost
5.591044 = idf(docFreq=55709, maxDocs=5492855)
0.055577915 = queryNorm
1.4825494 = (MATCH) fieldWeight(body:arrai in 6357), product of:
2.828427 = tf(termFreq(body:arrai)=8)
5.591044 = idf(docFreq=55709, maxDocs=5492855)
0.09375 = fieldNorm(field=body, doc=6357)
Для каждого совпадения в каждом поле вы получите такой блок, который объясняет, как SOLR вычисляет релевантность этого документа дляВаш запрос.То, о чем вы спрашиваете (сколько совпадений в поле этого документа), SOLR называет частоту термина "tf".Вы можете увидеть это на 7-й строке вывода, который я вставил выше.В этой строке SOLR сообщает вам, что он нашел 8 совпадений для массивов в поле, называемом «тело».
Другие строки обозначают такие вещи, как обратная частота документа - «idf» (как редко встречающийся термин) и fieldNorm, что относится к тому, насколько короткое поле документа относительно соответствия.Вы можете узнать об этом здесь: http://wiki.apache.org/solr/SolrRelevancyFAQ
К вашему сведению, если вам нужна эта информация "объяснения" в структурированном формате вместо неуклюжего текста, вы можете передать этот параметр с помощью запроса: debug.explain.structured = true, его все еще довольно сложно использовать =)