【发布时间】:2016-12-02 01:19:00
【问题描述】:
我正在测试地理搜索的 solr 查询,这是我的查询:
SolrQuery query =new SolrQuery();
query.setParam("q","*:*");
query.setParam("fq","geofilt");
query.setParam("d","100000");
query.setParam("pt","51.53750834,-0.19329616");
query.setParam("sfield","location_s");
我没有得到任何结果,尽管有非常接近的点并且指向 pt 的点也很精确。 知道是什么原因吗??
提示:我使用此字段类型进行空间搜索(默认情况下在 schema.xml 中):
<fieldType name="location_rpt" class="solr.SpatialRecursivePrefixTreeFieldType"
geo="true" distErrPct="0.025" maxDistErr="0.000009" units="degrees" />
因为当我尝试使用 solr 网站中提到的这个时,我得到一个错误:
<fieldType name="location_rpt" class="solr.SpatialRecursivePrefixTreeFieldType" spatialContextFactory="com.spatial4j.core.context.jts.JtsSpatialContextFactory"
autoIndex="true"
distErrPct="0.025"
maxDistErr="0.000009"
units="degrees" />
这是我的字段定义:
<field name="location_s" type="location_rpt" indexed="true" stored="true"/>
提前致谢!
【问题讨论】: