0

假设我们需要在某个整数字段(比如优先级)上按降序显示 solr 结果,我们可以轻松地应用“按优先级降序排序”。但是,如果此优先级字段是各种此类逗号分隔的 int 优先级的集合,例如 search_priority、tag_priority、xyz_priority 等。假设 solr 中每个 id 的优先级字段包含。"search_priority:100,tag_priority:200,xyz_priority:50" 那么我将如何按 tag_priority 的降序获取所有 id。

请注意,一个简单的解决方案是我们可以将 search_priority、tag_priority 和 xyz 优先级作为单独的 solr int 字段,然后我们采用 tag_priority desc。但我不希望这样,因为优先级的数量可能会增加,我们最终将手动添加这么多 solr 字段。

是否有任何有助于在逗号分隔的文本字段上排序的 solr 命令(如 multisort)?或 solr 中任何其他形式的概念都会受到高度重视

谢谢

4

1 回答 1

0

我建议使用动态字段。

例如<dynamicField name="*_priority" type="integer" indexed="true" stored="true"/>

  • 通过这种方式,您可以处理任意数量的优先级字段。
  • 这些字段将动态创建,无需定义。
  • 您始终可以使用动态字段进行排序。
于 2013-01-10T03:43:24.957 回答