Solr-поиск, числовое сопоставление и релевантность

StackOverflow https://stackoverflow.com/questions/2099288

Вопрос

Я просто начну со варианта использования.Допустим, я ищу товар по цене 500 долларов.Меня не волнует, будет ли это стоить немного дороже или немного меньше, но я хочу, чтобы продукты в этом ценовом диапазоне получали более высокий общий балл релевантности.

Есть ли способ сделать это в Солре?Документы по релевантности/MoreLikeThis, которые я видел на сайте, похоже, не содержат какой-либо концепции отклонения от заданного числа.

Связанный вопрос.Я хотел бы иметь возможность изменить вес поиска solr для достижения этих двух запросов:

«Найдите камеры с одинаковой ценой» и «Найдите аналогично показанные камеры»

Глядя на этот обработчик, алгоритм, используемый для вычисления релевантности, не выглядит так, как будто он предоставляет программисту какие-либо ручки управления.Например, для камер с одинаковой ценой я хотел бы изменить показатель релевантности, чтобы мы увеличили релевантность товаров в той же ценовой категории, но при этом сохранили вес для функций.Для аналогичных функций все будет наоборот.Т.е. «найти камеры со схожими характеристиками, но если одна стоит сорок тысяч долларов, она менее актуальна, чем аналогичная камера по выбранной мной цене» (у нее должно быть больше функций, но, возможно, они просто поставили хромированные вращатели на крышку объектива).

Это было полезно?

Решение

На Solr Wiki вы увидите несколько примеров того, как вы можете поиск по диапазону используя field:[a TO b] синтаксис.

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

<str name="qf">
    productname^1.0 price^2.0 brand^0.5
</str>

Я надеюсь, что это поможет вам начать.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top