全局搜索配置

发送反馈


SuperMap iPortal 提供了全局搜索功能,全局搜索可以对门户的所有资源进行检索,而无需在每一资源分类中逐一检索。iPortal 的全局搜索功能基于 Elasticsearch 分布式搜索引擎实现,有关全局搜索功能的使用,请参见:全局搜索

SuperMap iPortal 内置全局搜索

SuperMap iPortal 内置的全局搜索是指 iPortal 产品包中自带的全局搜索。启动 iPortal 服务时,已默认启用了内置全局搜索,无需做额外配置。该配置方式的优点是:操作简单,针对小型的门户网站应用,可选择内置的全局搜索。

作为 iPortal 门户的管理员,如果您部署了自己的 Elasticsearch 搜索服务器,不想使用 iPortal 中自带的 Elasticsearch,或者希望更改 iPortal 中 Elasticsearch 的默认配置,可以通过以下两个步骤进行配置:

  1. 打开 %SuperMap iPortal_HOME%/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="9300"></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>

如果您仅想更改 iPortal 内置 ES 的默认配置(如端口号、集群名、节点名等),而非使用自己部署的 ES 服务器, 则在修改完 search-beans.xml 文件后,还需同步修改 %SuperMap iPortal_HOME%/bin/startes.bat(sh) 文件中对应配置项,保持两者一致,以 startes.bat 为例,具体如下:

@echo off

set "CUR_DIR_TEMP=%~dp0"

set JAVA_HOME=%CUR_DIR_TEMP%\..\support\jre

set PATH=%JAVA_HOME%\bin;%path%

rem start elasticsearch

if not ""%ESDATADIR%""=="""" goto okdatadir

set ESDATADIR=%CUR_DIR_TEMP%\..\data\elasticsearch\data

:okdatadir

if not ""%ESLOGSDIR%""=="""" goto oklogdir

set ESLOGSDIR=%CUR_DIR_TEMP%\..\data\elasticsearch\logs

:oklogdir

set ESNODENAME=node1

set ESClUSTERNAME=myapplication

set ESHTTPPORT=9210

set ESTCPPORT=9310

"%CUR_DIR_TEMP%\..\database\elasticsearch\bin\elasticsearch.bat" -Epath.data=%ESDATADIR% -Epath.logs=%ESLOGSDIR% -Ecluster.name=%ESClUSTERNAME% -Enode.name=%ESNODENAME% -Ehttp.port=%ESHTTPPORT% -Etransport.tcp.port=%ESTCPPORT% -Enetwork.host=127.0.0.1 -p espid

  1. 修改 %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>