3

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

我想按值范围搜索(在 x 和 y 之间,超过 x ...)。现在我按原样索引数字并为两个值之间的每个值手动创建子句,但是当我搜索介于 1000 和以 5000 为例。我确信有更好的方法来做到这一点......

4

1 回答 1

6

用 RangeQuery 解决了它。也可以使用以下语法的查询解析器来完成:

FieldName:[startValue TO endValue]

请记住,范围查询对字符串进行操作,因此您的数字必须在索引和查询中都进行规范化。就我而言,我使用 .ToString("00000") 将其标准化为 5 位数字。负数和小数需要特殊处理,但在我的情况下这不是问题。

于 2009-10-19T17:45:35.040 回答