Solr:2个核心之间的不同排序结果

Solr: different sort result between 2 core

我有 2 个 solr 核心,一个称为目录,另一个 special_page。它包含来自同一个数据库的数据,不同之处在于目录包含的字段比其他目录多(目录在 solr 5 中,在 solr 4 中是特殊的,是的,不同的 solr 版本)。

问题是,当我必须对这个特定数据进行排序时,例如。 special_page which id is 1 然后按 product_scroring desc 排序。这 2 个核心具有不同的结果顺序。

产品评分的目录架构:<field name="product_scoring" type="text_general" indexed="true" stored="true" multiValued="false" default=""/>

special_page product_scoring 的架构:<field name="product_scoring" type="text_general" indexed="true" stored="true"/>

谁能告诉我是什么让这 2 个核心产生相同顺序的结果?谢谢

如果您实际上是在为浮点值编制索引,请不要将它们作为文本编制索引。文本会根据多个分隔符将内容拆分成单独的标记,例如“.”。和空格。根据您需要的值的精确程度,可以使用双精度或浮点数(但请记住,双精度数和浮点数并不精确)。

其次,由于字段中的值是相同的,文档之间的顺序是未定义的(.. 或者它将默认为它们被添加的顺序,但这可能会改变并且可能不同两个核心)。使用次要的、稳定的字段(例如名称、ID、添加日期等)来跨核心对相同数据进行相同的排序(这也是为什么 cursorMark 在使用时需要按唯一键排序的原因)。

问题在于:Solr 将以随机方式对具有相同值的数据进行排序,如果您将一次又一次地尝试相同的查询,那么排序顺序将因相同的值而改变。我认为这是问题所在