如何使用 TermQuery 来精确匹配 LongField?
考虑上的警告数字实用程序 API http://lucene.apache.org/core/3_6_0/api/core/org/apache/lucene/util/NumericUtils.html
注意:此 API 仅供内部使用,在下一版本中可能会以不兼容的方式进行更改。
我注意到这对某些人来说是一个问题,因为 NumericUtils API 确实从3.6版本 http://lucene.apache.org/core/3_6_0/api/core/org/apache/lucene/util/NumericUtils.html to 4.0版本 http://lucene.apache.org/core/4_0_0-BETA/core/org/apache/lucene/util/NumericUtils.html。我建议避免直接使用它。
相反,使用数字范围查询 http://lucene.apache.org/core/3_6_0/api/all/org/apache/lucene/search/NumericRangeQuery.html搜索数值。通过将最大和最小范围设置为相等的值可以获得精确匹配。
此外,故意选择哪些字段应该是数字可能会有所帮助。 NumericFields 旨在允许数字范围查询和排序。如果您不需要使用它作为数值进行搜索,它可能不应该是 NumericField。例如,识别号码通常应该是关键字,而不是数字。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)