Search 使用输入点进行Solr空间搜索并查询其中的多边形
我在Solr中索引了一些多边形。可以用一个点(纬度、经度)进行查询并查看哪个多边形的内部有该点吗?是的,可以在此处进行描述: 您的Solr版本必须为4或更高版本,并且必须导入可以从中获取的JTS jar文件 必须使用字段类型location\u rpt定义字段Search 使用输入点进行Solr空间搜索并查询其中的多边形,search,solr,polygon,geospatial,point,Search,Solr,Polygon,Geospatial,Point,我在Solr中索引了一些多边形。可以用一个点(纬度、经度)进行查询并查看哪个多边形的内部有该点吗?是的,可以在此处进行描述: 您的Solr版本必须为4或更高版本,并且必须导入可以从中获取的JTS jar文件 必须使用字段类型location\u rpt定义字段 <fieldType name="location_rpt" class="solr.SpatialRecursivePrefixTreeFieldType" spatialContextFactory="
<fieldType name="location_rpt" class="solr.SpatialRecursivePrefixTreeFieldType"
spatialContextFactory="com.spatial4j.core.context.jts.JtsSpatialContextFactory"
distErrPct="0.025"
maxDistErr="0.000009"
units="degrees"
/>
在schema.xml中。然后,必须对多边形进行索引,如:
<field name="geo">POLYGON((-10 30, -40 40, -10 -20, 40 20, 0 0, -10 30))</field>
多边形((-1030,-4040,-10-20,4020,020,-1030))
但我认为你已经这样做了,因为你写了,你已经把它们编入了索引
对于查询,您只需使用过滤器查询
fq=geo:“相交(10.12 50.02)”
,其中10.12
和50.02
表示您点的纬度和经度 我们首先需要外部JTS jar文件来索引多边形形状。为什么需要外部JTS jar文件?最新的SOLR仍然需要它吗?因为SOLR 6.x.x不再包含JTS库。只需从这里下载jar文件并将其包含到solr webapp/webapp/WEB-INF/lib/中,然后重新启动solr