2010-01-20 3 views
1

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

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

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

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

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

ответ

3

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

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

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

Надеюсь, это поможет вам начать работу.

Смежные вопросы