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