SuperMap iPortal 基于 Elasticsearch 分布式搜索引擎实现了资源中心、全局搜索和服务访问统计功能。SuperMap iPortal 产品包默认使用内置的 ElasticSearch 搜索服务器,您无需任何配置即可正常使用 iPortal 的相关功能。您也可更改内置搜索服务的默认配置(如端口号、集群名等)以满足实际生产环境。内置搜索服务的优点是:操作简单,针对小型的门户网站应用。
如果 iPortal 的内置搜索服务无法满足您的业务需求,您可以使用自己独立部署的 Elasticsearch 搜索服务器。iPortal 支持配置 6.6+ 版本的 Elasticsearch,且需包含 ICU Analysis 插件(版本号需与 Elasticsearch 保持一致)。 具体配置过程如下:
- 打开 %SuperMap iPortal_HOME%/webapps/iportal/WEB-INF/config/search/WEB-INF 目录下的 search-beans.xml 配置文件,可以根据您自己部署的 Elasticsearch 服务器更改参数,两者需保持一致。
<bean id="esSetting" class="com.supermap.iportal.search.commontypes.ESSetting">
<property name="address" value="127.0.0.1"></property>
<property name="port" value="39200"></property>
<property name="clusterName" value="myapplication"></property>
<!-- <property name="nodeName" value="node1"></property> -->
<property name="indexName" value="portalsearch"></property>
<property name="numberOfShards" value="5"></property>
<property name="numberOfReplicas" value="0"></property>
</bean>
- address:Elasticsearch 的 IP 地址。默认为本机 IP:127.0.0.1,使用 iPortal 自带的 Elasticsearch。
- port:Elasticsearch 的 HTTP 协议通讯端口号。默认值:39200。
- clusterName:Elasticsearch 的集群名称。
- nodeName:Elasticsearch 的节点名称。可选配置项,如需指定 Elasticsearch 节点,在配置时需要将该行的注释打开。
- indexName:Elasticsearch 里存储 iPortal 所有资源索引的索引库名称。用户可自定义名称,若对应的索引库不存在,iPortal 将自动创建索引库。
- numberOfShards:索引分片数。设置 Elasticsearch 对索引进行划分的分片数量。默认值:5,将索引划分为 5 片。
- numberOfReplicas:索引拷贝数。默认值:0,没有拷贝索引副本。
- 修改 %SuperMap iPortal_HOME%/webapps/iportal/WEB-INF 目录下的 iportal.xml 配置文件,具体配置项如下:
<IportalConfig>
...
<modulesConfig>
<searchModuleConfig class="com.supermap.server.config.BuildinSearchConfig">
<enable>true</enable>
<reindexAllResources>true</reindexAllResources>
<startElasticSearch>true</startElasticSearch>
<port>8192</port>
</searchModuleConfig>
</modulesConfig>
...
</IportalConfig>
- <enable>:是否启用搜索服务。默认值: true。注意:此参数必须设置为 true。
- <reindexAllResources>:是否重新索引已有 iPortal 资源。重建索引后,此配置会自动设置为 false。
- <startElasticSearch>:是否启用 iPortal 内置的 Elasticsearch。默认值:true。如果您希望使用自己搭建的 Elasticsearch 服务器,需要将该值设置为 false。
- <port>:搜索服务的端口。默认值:8192。
配置完成后,重启 iPortal 即可生效。