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

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

Есть ли способ сделать это в Solr? Релевантность /MoreLike Это документы, которые я видел на сайте, похоже, не имеет никакого понятия отклонения от заданного числа.

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

"Найти похожие камеры" и "Найти похожие камеры"

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

1 ответ

Решение

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

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

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

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

Другие вопросы по тегам