如何在Solr中索引具有geojson作为字段的文档?

时间:2019-05-28 15:41:44

标签: solr geospatial geojson solrcloud

当我尝试索引具有位置类型字段的文档时,没有结果。我正在尝试为文档建立索引,然后希望可以进行空间搜索。

我正在关注link,并且我也使用了SolrCloud 7.5版,但是我不能正确地使用geojson属性进行空间搜索。

我的schema.xml

<fieldType name="location" class="solr.LatLonPointSpatialField" docValues="true"/>
...
<field name="id" type="string" multiValued="false" indexed="true" required="true" stored="true"/>
<field name="geo_location" type="location" stored="true"/>
<field name="otherProperty" type="string" stored="true"/>

文档包含geojson和任何属性字段

当我尝试使用rest api将此文档编入索引

{
    "id":"12345",
    "location_try": {
        "type": "Feature",
        "geometry": {
            "type": "Point",
            "coordinates": [
                125.6,
                10.1
            ]
        },
        "properties": {
            "name": "Dinagat Islands"
        }
    },
    "otherProperty":"something"
}

http://localhost:8983/solr/geoCollection/update/json/docs?commitWithin=1000&overwrite=true&wt=json&format=geojson

完成索引操作后,将托管模式更改为

...
<field name="location_try" type="location" stored="true"/>
<field name="location_try.geometry.coordinates" type="pdoubles"/>
<field name="location_try.geometry.type" type="text_general"/>
<field name="location_try.properties.name" type="text_general"/>
<field name="location_try.type" type="text_general"/>

我可以在集合中看到我的文档,但是我无法从查询中得到回复

http://localhost:8983/solr/geoCollection/select?&q=*:*&fq={!geofilt sfield=location_try}&pt=10.11,11.11&d=1

如何正确索引geojson并在solr中搜索空间字段?例如,我想在边界框或多边形内获取文档?

0 个答案:

没有答案