Lucene LongField使用Query进行精确搜索

Rob*_*bAu 4 lucene long-integer

如何使用TermQuery与LongField完全匹配?

fem*_*gon 6

考虑NumericUtils API上的警告

注意:此API仅供内部使用,可能会在下一版本中以不兼容的方式更改.

我注意到这对某些人来说是一个问题,因为NumericUtils API确实从版本3.6变为版本4.0.我建议不要直接使用它.

而是使用NumericRangeQuery搜索数值.通过将最大和最小范围设置为相等的值,可以获得精确匹配.

另外,故意选择哪些字段应该是数字可能会有所帮助.NumericFields旨在允许数字范围查询和排序.如果您不需要使用它作为数值进行搜索,则它可能不应该是NumericField.例如,识别号码通常应该是关键字,而不是数字.