Возможно ли установить порог оценки Solr «разумно», независимо от полученных результатов?(т.е. является ли Solr Scoring стандартизированным любым способом) - PullRequest
8 голосов
/ 23 ноября 2011

У меня есть индекс Solr со многими записями, и по запросу возвращается некоторое подмножество - каждая запись имеет некоторый счет (очевидно). Как только результаты возвращаются с оценками, я хочу иметь возможность «сохранять» только те результаты, которые превышают некоторый результат (то есть результаты только определенного качества). Возможно ли это сделать, когда возвращаемое подмножество может быть чем-либо?

Я спрашиваю, потому что в некоторых запросах оценка, скажем, 0,008, приводит к достойному совпадению, в то время как в других запросах более высокий балл приводит к плохому совпадению.

В идеале я просто ищу способ, чтобы взять верхние x записи, если они хотя бы определенного качества.

Заранее спасибо!

Ответы [ 3 ]

4 голосов
/ 23 ноября 2011

Я думаю, вы не должны этого делать.С помощью модели оценки TF-IDF невозможно рассчитать оценку, выше которой все результаты актуальны и наоборот.И если вам удастся сделать это, весьма вероятно, что этот порог больше не будет действительным после нескольких обновлений вашего индекса (поскольку частоты документа будут меняться).думаю, что это достижимо с помощью запросов функций: в Solr есть функции if (в транке) и query.Просто отфильтруйте результаты, чтобы сохранить только те записи, которые имеют более высокий балл, чем заданный порог.

3 голосов
/ 02 апреля 2013
2 голосов
/ 23 ноября 2011

Также хотелось бы сначала пройти ScoresAsPercentages .

Solr не нормализует оценки, поскольку это легко сделать на стороне клиента.
Вы можете использовать maxScore, который представлен в результатах, разделив все оценки на maxScore.
Первая записьбудет иметь счет один, а затем остальные.

...