我的 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 song”的专辑,其中有 10 首歌曲。“悲伤的小丑歌曲”将显示为第一个方面,尽管“桥下”可能是最相关的歌曲。
我的问题是,我怎样才能恢复所有方面,然后根据其中歌曲的相关性对它们进行排序?如果我需要更改或扩展一些底层 SOLR 代码,那会是什么?
提前致谢。