Hi, 

With Solr 3.5 I use SOLR-2155 plugin to filter the documents by distance as 
described in http://wiki.apache.org/solr/SpatialSearch#Advanced_Spatial_Search 
and this solution perfectly filter the multiValued data defined in schema.xml  
like

<fieldType name="geohash" class="solr2155.solr.schema.GeoHashField" length="12" 
/>

<field name="location_data" type="geohash" indexed="true" stored="true" 
multiValued="true"/> 

the query looks like this with Solr 3.5:  q=*:*&fq={!geofilt}&sfield= 
location_data&pt=45.15,-93.85&d=50&sort=geodist() asc

As SOLR-2155 plugin not compatible with solr 4.0 I try to change the field 
definition to next:

<fieldType name="location" class="solr.LatLonType" subFieldSuffix="_coordinate" 
/>

<field name="location_data" type="location" indexed="true" stored="true" 
multiValued="true"/>

<dynamicField name="*_coordinate" type="tdouble" indexed="true" stored="false" 
/>

But in this case after geofilt by location_data execution the correct values 
returns only if the field have 1 value, if more them 1 value stored in index 
required documents returns only when all the location points are matched.

Have anybody experience or any ideas how to receive the same behavior in 
solr4.0 as this was in solr3.5 with SOLR-2155 plugin usage?

Is this possible at all or I need to refactor the document structure and field 
definition to store only 1 location value per document?

WBR Viacheslav.

Reply via email to