如何在Lucene.Net中索引数字字段并按范围进行搜索?

如何在Lucene.Net中索引数字字段并按范围进行搜索?,.net,lucene.net,numeric-ranges,.net,Lucene.net,Numeric Ranges,我正在寻找一种在Lucene.Net中索引和搜索数字字段的有效方法。 现在我只需要整数值 我想按值的范围(在x和y之间,大于x…)进行搜索。现在我正在按原样索引数字,并手动为两个值之间的每个值创建子句,但它会快速生成许多子句,并在搜索1000到5000之间的值时达到默认限制(1024)。我相信有更好的方法可以做到这一点。用RangeQuery解决了这个问题。也可以使用具有以下语法的查询解析器完成此操作: FieldName:[startValue TO endValue] 请记住,范围查询对字

我正在寻找一种在Lucene.Net中索引和搜索数字字段的有效方法。 现在我只需要整数值


我想按值的范围(在x和y之间,大于x…)进行搜索。现在我正在按原样索引数字,并手动为两个值之间的每个值创建子句,但它会快速生成许多子句,并在搜索1000到5000之间的值时达到默认限制(1024)。我相信有更好的方法可以做到这一点。

用RangeQuery解决了这个问题。也可以使用具有以下语法的查询解析器完成此操作:

FieldName:[startValue TO endValue]
请记住,范围查询对字符串进行操作,因此必须在索引和查询中对数字进行规范化。在我的例子中,我使用.ToString(“00000”)规范化为5位数字。负数和小数需要特殊处理,但在我的情况下这不是问题