Максимальное значение оценки зависит от выполняемого запроса.Чтобы узнать, какова максимальная оценка для данного запроса, вы можете запросить оценка поле через fl параметр, его нужно явно запросить.
Ex Req: http://server:7983/solr/select/?q=term&fl=*,score
lookдля maxScore = "xx.xxxx" в вашем ответе, и это будет выше / ниже 1,0, в зависимости от запроса, результатов, релевантности ...
Ex: <result name="response" numFound="29" start="0" maxScore="2.1740298">
Что важно помнить о значении самой оценкине имеет большого значения, но при сравнении относительной оценки документа с maxScore в запросе он дает значение.Например, если оценка документа № 1 равна 1,9, а оценки документа № 27 - 0,8, то документ № 1 намного лучше, чем документ № 27, если maxScore равен «2,1740298».
Следующие факторы влияютскоринг,
- Обратная частота документа
- Термин Частота
- Коэффициент координации
- Длина поля
помимо этой функцииНапример,
- Повышение индекса по времени
- Повышение времени запроса
будет влиять на вычисление оценки. SolrRelevancy предлагает некоторые объяснения.Более подробное объяснение можно найти здесь Схожесть с Lucene Вы можете включить опцию отладки, чтобы увидеть, как вычисляется оценка,
http://server:7983/solr/select/?q=term&fl=*,score&debugQuery=on
Пример: 2.1740298 = fieldWeight (text: "mmdci bldleg 02" в 210), произведение: 1.7320508 = tf (фразаFreq = 3.0) 13.388552 = idf (текст: mmdci = 812 bldleg = 264 02 = 6220) 0.09375 = fieldNorm (field = text, doc = 210)
Для Lucene:
Использование TopDocs.getMaxScore () .Возвращает максимальный балл всех совпадений при сортировке по умолчанию по релевантности.Если вы сортируете по полям, отличным от релевантности, вам нужно установить doTrackScores (true) & doMaxScore (true) .