2010-03-02 3 views
4

Je suis en train d'effectuer une recherche par localisation avec un exemple d'espace trouvé dans http://www.ibm.com/developerworks/java/library/j-spatial/#indexing.approaches.Recherche avec recherche d'emplacement

Le schema.xml a un champ geohash, mais ce champ n'est présent dans aucun des fichiers .osm (présents dans le dossier de données) utilisés pour indexer. Je ne suis pas en mesure de comprendre comment la valeur est affectée à, de sorte que quand je donne cette requête

http://localhost:8983/solr/select/?q=_val_:"recip (ghhsin(geohash(44.79, -93), geohash, 3963.205), 1, 1, 0)"^100 

jeu de résultats a une valeur geohash récupérée. Comment ça se passe? Aidez-moi, s'il vous plaît.

+1

La recherche spatiale officielle sera publiée avec Solr 1.5. Vous pouvez utiliser le plugin de JTeam en attendant: http://www.jteam.nl/news/spatialsolr.html –

+0

Je suis actuellement en train d'utiliser Solr 1.5 Nightly build, mais le lien dit ssp est compatible avec Solr 1.4. Dois-je aller avec solr1.4 seulement? – kshama

+0

Je n'en ai aucune idée. Le SSP n'est pas aussi flexible que le support spatial à venir, mais il fonctionne certainement * en ce moment *, il est simple à utiliser, et il est bien documenté. –

Répondre

2

Le wiki Solr a une très bonne page sur la façon dont la recherche spatiale peut être faite avec solr 1.5+.

En résumé, votre schéma champs typé de la geohash 'définit:

<fieldtype name="geohash" class="solr.GeoHashField"/> 
<field name="destination" type="geohash" indexed="true" stored="true"/> 

départs de données passent en coordonnées geohashed:

<field name="destination">cbj1pb56p4b</field> <!-- 45.17614 -93.87341 --> 

Vous devriez probablement revenir à l'utilisation de latitude simple et coordonnées longitude Commencer avec. Il y a de meilleurs docs pour ça.