Вы уже обнаружили, что это синонимы - и что вы хотите использовать эту метаинформацию в качестве повышения (что является хорошей идеей).
Ключом является определение поля, которое выполняет то, что вы хотите - в дополнение к вашему обычному полю. В большинстве этих случаев реализовано наличие второго поля, которое делает «менее точную» версию поля и применяет более низкое усиление для совпадений в этом поле по сравнению с точной версией.
Вы определяете оба поля - один с синонимами (например, content_synonyms
) и один без (content
), а затем добавьте инструкцию copyField
из поля content
(это означает, что Solr примет все, что отправлено в поле content
и " скопируйте его как исходный текст для поля content_synonyms
.
Используя edismax
, вы можете затем использовать qf
для запроса обоих полей и придания большего веса точному полю содержимого: qf=content^10 content_synonyms
получит хиты на content
10x больше, чем хиты на content_synonyms
, фактически используя поле синонима для увеличения контента.
Точные веса должны быть скорректированы в соответствии с вашим вариантом использования, профилем документа и профиль запроса.