我需要通过相关性对从SOLR返回的方面进行排序

Pin*_*uin 5 sorting solr hierarchy relevance faceted-search

我在我的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>
Run Code Online (Sandbox Code Playgroud)

我现在可以做的是在专辑标题上创建一个方面,这样搜索歌曲也会告诉我哪些专辑包含该关键字的点击.

SOLR的默认行为是,facet按照大多数命中的顺序显示为最少.然而,我想要实现的是根据该专辑的最高点击的相关性对要素进行排序的方面列表.

例如,对"悲伤"一词的搜索可能会显示"血糖性魔术"的一个方面,并且可能还有一张名为"悲伤小丑歌曲"的专辑,其中有10个命中."悲伤的小丑歌曲"将显示为第一个方面,尽管它可能是"在桥下"出现的最相关的歌曲.

我的问题是如何才能获得所有方面,然后根据其中歌曲的相关性对它们进行排序?如果我需要更改或扩展一些基础SOLR代码那会是什么?

提前致谢.

Mau*_*fer 3

Solr 只能按字典顺序或按计数对facet 进行排序(请参阅facet.sort 参数)。

如果您想实现不同的排序顺序,我会从SimpleFacets 类开始。