Мне нужно отсортировать грани, которые возвращаются из 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 заключается в том, что грани отображаются в порядке от большинства обращений к наименьшему. Однако я хочу добиться того, чтобы список фасетов был отсортирован в соответствии с релевантностью вершины хит для этого альбома.
Например, поиск по слову " sad "может показать грань с одним хитом для" Blood Sugar Sex Magic", а также может быть альбом под названием" Sad Clown songs", где есть 10 хитов. "Грустные песни клоунов "будут показаны как первая грань, даже если это может быть, что" Under the bridge " приходит как самая актуальная песня. Мой вопрос в том, как я могу вернуть все грани, но затем упорядочить их по релевантности песен в них? Если мне нужно будет переодеться или расширить какой-то базовый SOLR-код, что бы это было?Заранее благодарю.
2 ответа:
Solr может сортировать фасеты только в лексикографическом порядке или по количеству (см. фасет .параметр сортировки ).
Если вы хотите реализовать другой порядок сортировки, я бы начал С КлассаSimpleFacets .