首页 /  技术专区  /  Solr 宽屏模式 >

solr导入数据库数据

下面我们需要将这张表中的数据从mysql中导入到solr的索引数据库中。

image.png

第一步:找到solr所在的目录\solr-8.2.0\dist,把dataimport相关的两个jar包和mysql数据库连接jar包复制到solr启动服务器下,也就是我们之前配置的tomcat,apache-tomcat-9.0.26\webapps\solr\WEB-INF\lib目录下。

image.png

image.png

第二步:编辑\solr-8.2.0\solrhome\allencore(自己命名的core)的下面的配置文件solrconfig.xml添加下面代码。

image.png

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

第三步:在solrconfig.xml同级目录下面添加 data-config.xml,也就是我们刚刚配置文件里面写的,用来配置连接的数据库以及查询的sql语句。

image.png

image.png

<?xml version="1.0" encoding="UTF-8"?>  
<dataConfig>  
    <dataSource name="source1" type="JdbcDataSource" driver="com.mysql.cj.jdbc.Driver" url="*********" 
	user="*********" password="*********" batchSize="-1" />  
<document>  
        <entity name="article" pk="id"  dataSource="source1"   
                query="select * from  article" >
            <field column="id" name="id"/>  
            <field column="title" name="title"/>  
            <field column="context" name="context"/>  
            <field column="img_path" name="img_path"/>  
            <field column="look" name="look"/>  
            <field column="love" name="love"/>  
            <field column="label_id" name="label_id"/>  
            <field column="user_id" name="user_id"/>  
            <field column="create_date" name="create_date"/>  
            <field column="update_date" name="update_date"/>  
        </entity>
</document>  
</dataConfig>

第四步:修改\solr-8.2.0\solrhome\allencore下的managed-schema文件,添加对应的<field>节点。

image.png

<field name="title" type="string" indexed="true" stored="true" required="true" multiValued="false" />
<field name="context" type="string" indexed="true" stored="true" required="true" multiValued="false" />
<field name="img_path" type="string" indexed="true" stored="true" required="true" multiValued="false" />
<field name="look" type="pint" indexed="true" stored="true" required="true" multiValued="false" />
<field name="love" type="pint" indexed="true" stored="true" required="true" multiValued="false" />
<field name="label_id" type="pint" indexed="true" stored="true" required="true" multiValued="false" />
<field name="user_id" type="pint" indexed="true" stored="true" required="true" multiValued="false" />
<field name="create_date" type="string" indexed="true" stored="true" required="true" multiValued="false" />
<field name="update_date" type="string" indexed="true" stored="true" required="true" multiValued="false" />

第五步:登录管理端,选择数据表,点击Execute进行拉取数据。

image.png

第六步:查看Query是否有数据。

image.png

数据导入成功!


头像
0/200
图片验证码