Php 解决方案:查找最后一个/最高的唯一键&;范围搜索

Php 解决方案:查找最后一个/最高的唯一键&;范围搜索,php,lucene,solr,Php,Lucene,Solr,我有一个带有“uniqueKey”的lucene索引 …其中返回的奇怪值是:“9999999”作为最高值。这是不正确的,因为最高ID是1043725。我认为这是因为ID是一个文本字段 C.)可能还有其他方法只能在最后添加的记录中搜索 谢谢你的帮助 Solr的uniqueKey字段可以支持Solr支持的任何数据类型类。虽然基础Lucene索引本身将所有存储/索引数据视为文本,但Solr管理转换以根据数据类型处理索引数据 您指的是您是否在solr配置中启用了QueryEvationComponent

我有一个带有“uniqueKey”的lucene索引

…其中返回的奇怪值是:“9999999”作为最高值。这是不正确的,因为最高ID是1043725。我认为这是因为ID是一个文本字段

C.)可能还有其他方法只能在最后添加的记录中搜索


谢谢你的帮助

Solr的uniqueKey字段可以支持Solr支持的任何数据类型类。虽然基础Lucene索引本身将所有存储/索引数据视为文本,但Solr管理转换以根据数据类型处理索引数据


您指的是您是否在solr配置中启用了QueryEvationComponent。如果您尚未启用该功能,您可以将uniqueKey设置为long以解决问题。

这是一个非常有趣的信息-我以前从未听说过QueryEvationComponent。通过阅读->我还有一个问题需要理解,禁用QueryEvationComponent是否是一个好主意(不重要)。只是为了理解这个特性:如果我不明确地使用它,就不会有效果。这是一个准备好的太阳能功能,默认情况下处于活动状态,以提高特殊的效果。所以,如果我不在我的应用程序中使用该功能,我可以禁用它而不会产生任何副作用!?查询提升允许通过使用特定索引项直接替换计算/评分结果来操作搜索结果——可以将其视为对某些搜索用例的覆盖。默认情况下,它是禁用的。无论如何,如果你不使用它,你可以禁用它而没有副作用。谢谢你的回答。排序和使用主键(ID)现在可以正常工作。:-)
<uniqueKey>ID</uniqueKey>
<field name="ID" type="string" indexed="true" stored="true"/>
http://localhost:8080/solr/select/?defType=func&q=max(ID,0)&fq=ID:[$oldID+TO+$currentID]&fl=ID