2012/2/9 Matthias Käppler <matth...@qype.com>:
> <arr name="filter_queries">
> <str>{!bbox cache=false d=50 sfield=location_ll pt=54.1434,-0.452322}</str>
> </arr>
> <arr name="parsed_filter_queries">
> <str>
> WrappedQuery({!cache=false
> cost=0}+location_ll_0_coordinate:[53.69373983225355 TO
> 54.59306016774645] +location_ll_1_coordinate:[-1.2199462259963294 TO
> 0.31530222599632934])
> </str>
> </arr>

Yep, bbox normally just evaluates to two range queries.
In the example schema, *_coordinate uses tdouble:

   <!-- Type used to index the lat and lon components for the
"location" FieldType -->
   <dynamicField name="*_coordinate"  type="tdouble" indexed="true"
stored="false"/>

And tdouble is defined to be:

<fieldType name="tdouble" class="solr.TrieDoubleField"
precisionStep="8" omitNorms="true" positionIncrementGap="0"/>

One way to speed up numeric range queries (at the cost of increased
index size) is to lower the precisionStep.  You could try changing
this from 8 to 4 and then re-indexing to see how that affects your
query speed.

-Yonik
lucidimagination.com

Reply via email to