Это то, что Solr делает по умолчанию. Возможно, оценщик не соответствует вашим ожиданиям, вы должны включить debugQuery, чтобы лучше понять, как вычисляются оценки.
Учитывая ваш пример, вы должны убедиться, что ваш анализатор выполняет стемминг, чтобы american
и americans
анализировались одинаково.
Одна вещь, которая может сбить с толку, когда начинаешь работать с инструментом, который использует TF-IDF для оценки, это то, что он дает редким терминам больше шансов на хорошее ранжирование. Например, если american
встречается в вашем индексе гораздо чаще, чем greek
, запрос greek restaurant
, скорее всего, даст греческим музеям более высокий рейтинг, чем американским ресторанам.
Вы можете настроить способ подсчета очков, написав свой собственный Сходство .