番外solr空间索引和查询

Posted 金沙数据

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了番外solr空间索引和查询相关的知识,希望对你有一定的参考价值。

(1)solr版本:solr-7.5.0

(2)部署方式:单机

(3)准备数据:

数据为json格式数据,结构如下:

[ {

    "id" : 1,

    "name" : "创业大厦",

    "station_position" : "116.3231 39.9941"

}]


(4)创建collection,名称为: geo-demo

bin/solr create -c geo-demo

(5)配置schema

使用(4)中的命令创建好collection后,会生成默认的配置文件,配置文件路径:

${SOLR_HOME}/server/solr/geo-demo/conf

在managed-schema中增加如下配置:


ps:在默认的managed-schema配置中已经包含了name为location_rpt的fieldType

【番外】solr空间索引和查询

(6)重启solr

bin/solr restart

(7)创建索引

    使用solr提供的bin目录下的post脚本创建索引。将准备好的数据building.json 放到

${SOLR_HOME}/example/exampledocs

目录下(这个放在哪里都可以啦)

    创建索引如下图:

【番外】solr空间索引和查询

图一

(8)查询

创建好索引后,使用solr提供的AdminUI可以进行查询了。

【番外】solr空间索引和查询

图二

图二中红色方框中有一个spatial的选项,勾选此选项,设置对应参数可以进行空间查询。


20条数据选择点如下图所示:

【番外】solr空间索引和查询

图三

图三中红色方框为待查询的点,查询条件如下入所示:

图四

图中:

①为上图方框中的坐标点,这里需要注意的一点是,solr支持(纬度 经度)或者(x,y)的坐标。此处建索引时使用的(纬度 经度),查询时是使用的是(x,y)

②为进行空间查询的field

③为距离,单位是KM

④为使用filter,solr支持geofilt和bbox两种

上图含义:查找

(39.89815618119472,116.39410078525544)200m以内的建筑物名称


以上是关于番外solr空间索引和查询的主要内容,如果未能解决你的问题,请参考以下文章

Solr的空间索引

揭秘solr查询流程内幕

使用Lucene索引和检索POI数据

Solr教程--官方自带数据的三个练习及讨论翻译版本

12 solr

Solr权威指南 下卷