Solr位置方面搜索

时间:2012-06-04 01:09:51

标签: solr location facet

我正在使用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 pt = 37.3320927,-121.90056663 d = 100 sfield = location 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

我收到回复:     

我有什么不正确的做法吗?

1 个答案:

答案 0 :(得分: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分解结果。