2013-09-02 2 views
4

Я использую Solr для предлагаемой фасетной навигации для сайта электронной коммерции. Однако мне нужно определить пользовательский порядок для фасетов, но я не нашел, как это сделать в Solr.Установка пользовательского заказа для фасадов из Solr

Любая идея, как это сделать? Я использую Solr Net и последнюю версию Solr.

Вот пример того, что мне нужно сделать.

Текущие Грани

Операционная система

  • Android (32)
  • Blackberry OS (8)
  • Окна (6)
  • компании Apple IOS (6)
  • Bada (5)
  • Проприетарные устройства (2)

Цена

  • 10001 - 20000 (42)
  • 20001 - 25000 (12)
  • 500 - 5000 (11)
  • 5001 - 10000 (8)

Обратите внимание, что это всего лишь пример. И есть много других аспектов. Я хочу показать цену в качестве первого аспекта, поэтому вам нужно заказать это поле фасет, а также варианты фасетов, подобные этому.

Цена

  • 500 - 5000 (11)
  • 5001 - 10000 (8)
  • 10001 - 20000 (42)
  • 20001 - 25000 (12)

Операционная система

  • Android (32)
  • компании Apple IOS (6)
  • Bada (5)
  • Blackberry OS (8)
  • Собственность (2)
  • Окна (6)

Так вот как мне необходимо заказать:

  1. Оформить заказ Facet Field вручную, чтобы он отображался в определенном порядке
  2. Порядок оплаты в соответствии с определенным порядком. Для ОС я заказал его в алфавитном порядке. Или может быть для тех граней, которые не имеют определенного порядка, может быть порядок по умолчанию на основе количества отсчетов в результате?

Pls советует.

+0

Что такое критерии поиска? можете ли вы привести примеры? – Jayendra

+0

@Jayendra Я был уверен, что вы предоставите мне ответ! Просто обновленный вопрос с примером – Krunal

ответ

6

Вы можете использовать фасетки рода в поле зрения заказать различные аспекты соответственно.

например. f.<field_name>.facet.sort=count|index

Solr предоставляет только две опции Сортировка и сортировка индекса. Все остальное должно быть реализовано с помощью решений Custome или обходных решений.

+0

Благодарим вас за ваши предложения. Используя это, я могу предложить другой порядок для разных областей. Однако как он упорядочивается, когда мы применяем порядок с использованием индекса? Это не ясно. Более того, мне будет интересно узнать вашу идею об обходном пути для реализации пользовательского заказа для фасетного поля и фасетов. Ожидание вашего ответа. И еще раз спасибо. – Krunal

+0

этот фасет вы имеете в виду ?? вы используете граничный диапазон по цене? и хотите проверить его порядок? – Jayendra

+0

Привет, Да, мне нужно сохранить цену на первом месте для всех полей граней. Кроме того, также порядок граней в случае Цены, как вы видите, изменился порядок в примере. – Krunal

0

Вы можете сортировать только по заданным критериям.

facet.sort является то, что вы используете, и это может быть только: - количество - сортировка ограничений по количеству (наибольшее количество первых) - индекс - вернуть ограничения, отсортированные в их указательным порядке (лексикографический по индексированной термина). Для членов в диапазоне ascii это будет отсортировано в алфавитном порядке.

Посмотрите на это: http://wiki.apache.org/solr/SimpleFacetParameters#facet.sort

+0

Привет, Спасибо за ваш ответ. Я уже рассмотрел это. Но нам нужен индивидуальный заказ, где это невозможно каким-то образом использовать. Pls проверит пример, чтобы получить более четкое представление об этом. Я жду вашего совета. – Krunal