2012-06-04 3 views
0

J'utilise solr pour effectuer une recherche à facettes. Je suis peuplé les données Solr et un document typique ressemble à:Recherche de facettes par emplacement Solr

<doc> 
<str name="id">1</str> 
<date name="last_modified">2012-06-03T07:23:11.215Z</date> 
<str name="location">22.60325666,114.1371245</str> 
<int name="media_type">0</int> 
</doc> 

Quand je lance une requête: {! Geofilt pt = 37,3320927, -121,90056663 d = 100 Sfield = emplacement d = 5} Je récupère 2 documents. De même, quand je cours: {! Geofilt pt = 37.3320927, -121.90056663 d = 100 sfield = emplacement d = 50} Je récupère 6 documents.

Mais quand je lance la requête:

http://localhost:8983/solr/select?sfield=location&pt=37.3320927,-121.90056663&facet.query={!geofilt%20d=10%20key=d10}&facet.query={!geofilt%20d=20%20key=d20}&facet.query={!geofilt%20d=50%20key=d50}&wt=xml&facet=true 

Je reçois une réponse:

De même pour:

http://localhost:8983/solr/select?sfield=location&pt=37.3320927,-121.90056663&facet.query={!geofilt%20d=10%20key=d10}&facet.query={!geofilt%20d=20%20key=d20}&facet.query={!geofilt%20d=50%20key=d50}&wt=xml&facet=true 

je reçois une réponse:

est-il tout ce que je fais mal?

+0

Même si j'ai media_type défini comme, je ne peux toujours pas exécuter une recherche à facettes en faisant: http: // localhost: 8983/solr/sélectionnez? Q = *. * & Rows = 0 & facet = true & facet.query = media_type: 1 & facet.query = media_type: 2 –

Répondre

0

j'ai eu des choses à travailler en utilisant la requête:

http://localhost:8983/solr/select?q=*:*&sfield=location&pt=37.3320927,-121.90056663&facet.query={!frange l=0 u=5}geodist()&facet.query={!frange l=5.001 u=20.0}geodist()& &facet.query={!frange l=20.001 u=100}geodist()&facet.pivot=media_type&wt=xml&facet=true&rows=0 

Les prochains problèmes est comment puis-je ajouté une autre facette à la requête? Plus précisément, dans ce cas, j'aimerais diviser les résultats en utilisant media_type.

+0

Je crois que Solr supporte plusieurs paramètres de requête 'fq =', donc vous en ajoutez juste un autre à l'URL. –

Questions connexes