2012-06-04 3 views
0

Я использую solr, чтобы выполнить граненый поиск. Я заселена данные в Solr и типичный документ выглядит следующим образом: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> 

При запуске запроса: {! Geofilt пт = 37,3320927, -121,90056663 d = 100 sfield = расположение d = 5} Я возвращаю 2 документа. Аналогично, когда я запускаю: {! Geofilt pt = 37.3320927, -121.90056663 d = 100 sfield = location d = 50} Я получаю 6 документов назад.

Но когда я запускаю запрос:

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 

я получаю ответ:

Аналогично для:

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 

я получаю ответ:

Есть что я делаю неправильно?

+0

Несмотря на то, что у меня есть media_type, определенный как, я все еще не могу даже выполнить фасетный поиск на нем, выполнив: http: // localhost: 8983/solr/select? Q = *. * & Rows = 0 & facet = true & facet.query = media_type: 1 & facet.query = media_type: 2 –

ответ

0

Я получил то, чтобы работать с помощью запроса:

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 

Следующие проблемы, как я добавил еще один аспект в запросе? В частности, в этом случае я хотел бы разбить результаты, используя media_type.

+0

Я считаю, что Solr поддерживает несколько параметров запроса 'fq =', поэтому вы просто добавляете еще один URL-адрес. –

Смежные вопросы