Я должен отсортировать фасеты, которые возвращаются из SOLR уместностью

Я имею в своих индексных объектах песни SOLR, которые принадлежат высокоуровневому объекту альбома. Пример показывают ниже:

<song>
<album title>Blood Sugar Sex Magic</album title>
<song title>Under the Bridge</song title>
<description>A sad song about junkies</description>
</song>

Что я могу сделать, в данный момент, создают фасет на названии альбома так, чтобы поиск на песнях также показал мне, какие альбомы содержат хиты для того ключевого слова.

Поведение по умолчанию для SOLR состоит в том, что фасеты показывают в порядке большинства хитов к наименьшему. Однако то, чего я хочу достигнуть, является фасетным списком, который будет отсортирован согласно уместности главного хита для того альбома.

Например, поиск на "печальном" слове может показать фасет с одним хитом для "Волшебства Пола Сахара в крови" и может также быть альбом, названный "Печальные песни Клоуна", где существует 10 хитов. "Печальные песни клоуна" покажут первым фасетом даже при том, что может случиться так, что "Под мостом" подходит как самая соответствующая песня.

Мой вопрос состоит в том, как я могу вернуть все фасеты, но затем их заказали уместностью песен в них? Если бы я должен был бы изменить или расширить некоторых лежащих в основе кода SOLR, каково это было бы?

Заранее спасибо.

5
задан Pinguthepenguin 17 May 2010 в 18:01
поделиться

2 ответа

Solr может сортировать фасеты только в лексикографическом порядке или по количеству (см. Параметр facet.sort ).

Если вы хотите реализовать другой порядок сортировки, я бы начал с класса SimpleFacets .

3
ответ дан 15 December 2019 в 00:52
поделиться

В конце концов, мы решили, что самый простой способ сделать это без необходимости изменять исходный код SOLR - это запросить solr, запросить фасеты и перебрать результаты.

Не идеально, но пока работает.

1
ответ дан 15 December 2019 в 00:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: