基于特定字段的过滤lucene搜索

基于特定字段的过滤lucene搜索,lucene,Lucene,我想返回在具有特定值的文档之后找到的所有匹配文档。该值是唯一的。 我尝试过使用数字过滤。这不是一个好的解决方案,因为字段值可能是任意顺序的如果我了解您的需要,使用数字范围是获取所需内容的正确方法。为了在同一字段上排序,您需要向搜索调用传递一个参数,类似于: Sort sort = new Sort(new SortField("myNumericField", SortField.Type.INT)); searcher.search(query, maxDocs, sort) 在搜索中遇到某

我想返回在具有特定值的文档之后找到的所有匹配文档。该值是唯一的。
我尝试过使用数字过滤。这不是一个好的解决方案,因为字段值可能是任意顺序的

如果我了解您的需要,使用数字范围是获取所需内容的正确方法。为了在同一字段上排序,您需要向搜索调用传递一个参数,类似于:

Sort sort = new Sort(new SortField("myNumericField", SortField.Type.INT));
searcher.search(query, maxDocs, sort)

在搜索中遇到某个值后,我需要保留所有值。例如,所有文档,在包含字段“id”且值为“5”的特定文档之后,所有文档的
id>5
,对吗?除非我误解了你的问题,否则你说你已经通过
numerichangequery
得到了答案。使用相同的查询,并按指示添加一个
排序
。等待,重新阅读,可能您正在要求其他内容。实际上,您是否试图查找一个文档,然后返回在该文档之后写入索引的所有文档?Lucene文档并没有真正意义上的自然顺序,仅仅基于DocID是不够的。如果这是您想要的,那么应该有一个与之相关的字段。输入的日期时间可能有意义。