It depends on your use case... if you only need to query for single items such as the unique integer id in a field then a standard field can be used. If you need to query for numeric ranges, then a numeric field is the best choice due to performance.
If you need to do both, numeric fields are the way to go but there is an extra step to query for items with a specific value. You'll need to use the Lucene.Net.Utils.NumericUtils methods to convert the number to the prefix coded value in the index that is then used as the string value of the search. NumericUtils.IntToPrefixCoded(int val) NumericUtils.LongToPrefixCoded(long val) NumericUtils.FloatToPrefixCoded(float val) NumericUtils.DoubleToPrefixCoded(double val) Michael -----Original Message----- From: Simone Chiaretta [mailto:[email protected]] Sent: Tuesday, January 12, 2010 7:38 AM To: lucene-net-user Subject: How to search for a specific number on Lucene 2.9.1 Hello, I see that when indexing an integer, when moving from Lucene 2.3 to 2.9.1 I get a obsolete warning for the NumericTools. I changed it to a NumericField but now how do I query it for an exact number? Do I use the NumericRangeQuery with min and max set to the same number? or is there a better way to do exact queries? Simone -- Simone Chiaretta Microsoft MVP ASP.NET - ASPInsider Blog: http://codeclimber.net.nz RSS: http://feeds2.feedburner.com/codeclimber twitter: @simonech Any sufficiently advanced technology is indistinguishable from magic "Life is short, play hard"
