Solr:Index没有定义操作DataImportHandler

时间:2018-05-08 16:43:06

标签: solr solrcloud

我尝试使用DataImportHandler在云模式下使用Solr索引我的MySQL数据库,以下是使用_default配置集的配置。

的solr-7.3.0 \服务器\ solr的\ configsets \ _default \ CONF \ 数据-config.xml中

# define data source
<dataConfig>
    <dataSource type="JdbcDataSource" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/expressg_dbkevinzeigler" user="root" password=""/>
    <document>
      <entity name="product"  
        pk="id_prd"
        query="SELECT id_prd, name_prd, description_prd FROM products_prd">
         <field column="id_prd" name="id"/>
         <field column="name_prd" name="name"/>       
      </entity>
    </document>
</dataConfig>

将以下内容添加到: 的solr-7.3.0 \服务器\ solr的\ configsets \ _default \ CONF \的 solrconfig.xml中

<lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-dataimporthandler-7.3.0.jar" />
  <lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-dataimporthandler-7.3.0-extras.jar" />

<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
        <lst name="defaults">
          <str name="config">data-config.xml</str>
        </lst>
    </requestHandler>

将以下内容添加到: 的solr-7.3.0 \服务器\ solr的\ configsets \ _default \ CONF \的管理-schema.xml中

<field name="id" type="string" indexed="true" stored="true" required="true" multiValued="false" /> 
    <field name="name" type="string" indexed="true" stored="true" multiValued="false" />

当我在我当前的集合中尝试使用Solr Admin中的DataImport时,它说:

“此索引的solrconfig.xml文件没有定义可操作的DataImportHandler!”

有人遇到同样的情况吗?

1 个答案:

答案 0 :(得分:0)

请按照以下步骤创建我们自己的配置集,并使用这些配置为Solr Cloud模式创建一个集合。

1:从Solr安装目录中创建默认配置的副本。

sudo cp -R _default/ db_config

2:根据您的要求编辑solrconfig.xml, DIHconfigfile.xml and schema.xml(managed_schema)个文件。

3:创建一个新配置的zip文件

(cd /usr/local/solr/server/solr/configsets/db_config/conf && zip -r - *) > db_config_set.zip

4:将此配置上传到ZooKeeper

curl -X POST --header "Content-Type:application/octet-stream" --data-binary @db_config_set.zip "http://your_host_ip:8983/solr/admin/configs?action=UPLOAD&name=db_config_set"

上传成功后,我们可以在Solr Admin网页中创建新集合时看到我们的新配置集。 在处理数据导入任务时,创建自定义配置集非常有用。

参考:https://lucene.apache.org/solr/guide/8_1/configsets-api.html