Подробная информация в результатах Lucene / Solr - PullRequest
1 голос
/ 10 июня 2010

После выполнения поиска в Lucene / Solr без указания поля, как я могу узнать, в каких полях результирующего документа была найдена строка поиска (и как часто)?

Ответы [ 3 ]

3 голосов
/ 10 июня 2010

Попробуйте установить debugQuery=on. См. этот пример .

3 голосов
/ 10 июня 2010

Вы можете использовать Подсветка запроса .

1 голос
/ 09 мая 2012

Как уже упоминалось, используйте 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, его все еще довольно сложно использовать =)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...