Hi I create my index files and encode all numbers using solr's NumberUtils but searching not works!!! I created a custom query parser and override the getRangeQuery and getFieldQuery but no result will return. do I have to implement a custom analyzer too? currently I am using whitespace analayzer and I don't think it needs to be customized.
> On 7/16/07, Dima May <[EMAIL PROTECTED]> wrote: > > > > Mohammad, > > > > see for my 2 cents below, > > > > Good luck. > > > > D > > > > > > On 7/16/07, Mohammad Norouzi <[EMAIL PROTECTED]> wrote: > > > > > > Hello > > > I have problem in range queries, for example, I have queries like > > > "field:[1 > > > TO 25]" or "field:[1.1 TO 11.25]" > > > currently these queries not work. field:[20 TO 25] works fine but when > > the > > > both limits of the range have different number of digits the query > > won't > > > work. so the solution is NumberTools. > > > > > 1 - the NumberTools utility has two methods longToString() and > > > stringToLong(). how about the double or float numbers?? I think it > > should > > > be extends to support more data types > > > > > > Check out these resources: > > 1. https://issues.apache.org/jira/browse/LUCENE-530 > > 2. Solr has a class that will help you encode/decode floats for lucene > > range > > queries and sorting: > > http://lucene.apache.org/solr/api/org/apache/solr/util/NumberUtils.html > > 3. Alternatively you can pad the floats with zeros like this: > > 000001.3000. > > As long as the padding is consistent between indexing and querying your > > range queries and sorting should work fine as appending zeros enforces > > lexicographical order. > > > > 2 - suppose we are indexing a bunch of information and a field is in > > long > > > that we need to apply range queries on that later. > > > now I have a query like "fieldone:(just for test) AND field_long:[1 TO > > > 25]", > > > the question is whether this query returns correct result? because > > > field_long already encoded with longToString() method and in the index > > > files > > > you can't find any real value say, 1 or 25 or 10 ... > > > do I need to use stringToLong() method while I am building query? > > > > > > Yes the search query must "match" whats in the index so you would have > > to > > encode the value before performing the search. The good news are that > > you > > can encapsulate that logic into the custom analyzer and custom query > > parser. > > In query parser you should implement getRangeQuery. > > > > any comment would be of great help > > > > > > -- > > > Regards, > > > Mohammad > > > -------------------------- > > > see my blog: http://brainable.blogspot.com/ > > > another in Persian: http://fekre-motefavet.blogspot.com/ > > > > > > > > > -- > Regards, > Mohammad > -------------------------- > see my blog: http://brainable.blogspot.com/ > another in Persian: http://fekre-motefavet.blogspot.com/ > -- Regards, Mohammad -------------------------- see my blog: http://brainable.blogspot.com/ another in Persian: http://fekre-motefavet.blogspot.com/