Solr導入MySQL中的數據


一、目標

將MySQL數據庫中的數據導入至Solr中,並且由Solr生成中文索引,使用Solr查詢信息。

二、數據導入

1、將/solr-8.2.0/dist/下的兩個jar和mysql-connector-java.jar 拷貝到/solr-8.2.0/server/solr-webapp/webapp/WEB-INF/lib文件夾下。

 

2、修改/solr-8.2.0/server/solr/articles/solrconfig.xml,

在<requestHandler name="/select" class="solr.SearchHandler">之上添加如下代碼:

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

結果如下圖:

3、然后在同級目錄conf下新建data-config.xml文件。 

data-config.xml文件中設置數據庫的連接信息和數據表的映射信息(sorl中的field映射表中的column)。

<?xml version="1.0" encoding="UTF-8"?>
<dataConfig>
    <dataSource name="source1" type="JdbcDataSource" driver="com.mysql.jdbc.Driver"
        url="jdbc:mysql://localhost:3306/test" user="root" password="123"
        encoding="UTF-8" />
    <document>
    <entity name="articles" dataSource="source1" pk="id" query="select id,title,createDate from articles">
       <field name="id" column="id" />
       <field name="title" column="title" />
       <field name="createDate" column="createDate" />
    </entity>
    </document>
</dataConfig>

 4、在Solr中添加field屬性。可以直接在conf文件下的managed-schema中手動添加配置field信息。(不推薦)

注意:id主鍵列是默認存在的,不能修改和刪除的。

<field name="createDate" type="pdate" uninvertible="true" indexed="true" stored="true"/>
<field name="title" type="text_ik" uninvertible="true" indexed="true" stored="true"/>

也可以使用Solr提供的圖形界面添加,如下圖:(強烈推薦)

需要分詞查詢的列選擇數據類型為text_ik;

添加完成后,可以在這里查看添加的field的信息。

5、以上准備工作就做完了,重啟服務后就可以看見操作頁面了。重點是第三步和第四步。不同的程序操作不一致。

6、數據插入成功后,可以在Query中查詢。先查詢所有:

 

再使用分詞查詢關鍵字:title:吉林

至此數據庫導入信息完成。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM