SOLR层配置¶
将文档映射到层¶
SOLR索引几乎是自由格式的文档,SOLR实例有一个字段集合,并且每个文档可以包含任意组合的字段。另一方面,geoserver以固定结构要素类型组织数据,并在单独的层中公开数据。这就留下了索引中的文档应该如何组织成层的问题。
默认情况下,存储暴露一个单独的层,通常以存储连接到的solr集合命名,通过发布它,可以决定要包含哪些字段,并最终添加一个过滤器来选择将包含哪些属性。
此单个层可以发布多次,为每个已发布层提供不同的名称、所选属性集和不同的过滤器,以选择层中包含的文档。
安装Solr延长件¶
从下载Solr扩展 nightly GeoServer community module builds 。
警告
确保将扩展的版本与geoserver实例的版本匹配。
如果geoserver正在运行,请停止它。
将存档的内容提取到
WEB-INF/lib
地理服务器安装目录。重新启动geoserver,在执行新的存储创建工作流时,solr数据存储应该显示为一个选项。
连接到Solr服务器¶
正确安装扩展后 SOLR
将在创建新数据存储时显示为选项。

矢量数据源列表中的solr¶
配置Solr数据存储¶

配置Solr数据存储¶
|
提供到提供文档的Solr服务器的链接 |
输入并确认参数后,geoserver将联系solr服务器并获取层名称列表,并相应地填充层选择器页面:

SOLR服务器中可用层的列表¶
配置新的solr基础层¶
选择图层名称后,将显示常规图层配置面板,在表格中弹出可用字段:

层字段列表配置¶
|
只读字段,如果该字段在与此层关联的文档中没有值,则选中 |
|
用于选择将构成此层功能的字段 |
|
字段的名称 |
|
从SOLR架构派生的字段类型。对于几何图形类型,可以选择提供更具体的数据类型 |
|
几何图形的本机空间引用ID |
|
指示几何字段是否为默认字段。如果文档包含多个几何字段,则很有用,因为除非另有指定,否则SLD和空间过滤器将命中默认的几何字段。 |
|
检查该字段是否可用作功能标识符 |
默认情况下,列表将只包含与层关联的文档中至少有一个非空值的字段,但可以通过取消选中“如果为空则隐藏字段”复选框来获取完整列表:

显示SOLR中可用的所有字段¶
在表格中填入所有需要的参数后,按“应用”按钮确认并返回到主层配置面板。如果要修改字段选择,可以单击“功能类型详细信息”面板下方的“配置SOLR字段”。

返回字段列表编辑器¶
层配置的其余部分正常工作,一旦提供了所有字段,您就可以在WMS和WFS中保存和使用层。
警告
为了计算边界框,geoserver必须从solr中提取构成层的所有几何图形,此操作可能需要一些时间,建议在从大型文档集配置层时手动输入本机边界框。
习俗 q
和 fq
参数¶
SOLR存储将使用 fq
参数。但是,在某些情况下,您可能需要手动指定 q
或 fq
利用一些不能通过OGC过滤器表达的本地solr过滤能力。
这可以通过将它们指定为 viewparams
类似于关系数据库上的参数化SQL视图。
例如,以下URL::
http://localhost:8080/geoserver/nurc/wms?service=WMS&version=1.1.0&request=GetMap
&layers=nurc:active&styles=geo2&bbox=0.0,0.0,24.0,44.0&width=279&height=512
&srs=EPSG:4326&format=application/openlayers
&viewparams=fq:security_ss:WEP
将向solr发送一个如下所示的查询:
omitHeader=true&fl=geo,id&q=*:*&rows=2147483647&sort=id asc
&fq=status_s:active AND geo:"Intersects(POLYGON ((-0.125 -0.5333333333333333, -0.125 44.53333333333333,
24.125 44.53333333333333, 24.125 -0.5333333333333333, -0.125 -0.5333333333333333)))"
&fq=security_ss:WEP&cursorMark=*
您可以注意到:
仅检索显示所需的列(在本例中是单个几何图形)
bbox和层标识过滤器在第一个
fq
该习俗
fq
是作为秒传递的fq
参数(Solr会将其视为与前一个参数进行AND运算)