Solr-5.3.1 dataimport 導入mysql數據


      最近需要計算制造業領域大詞表每個詞的idf,詞表里一共九十多萬個詞,語料一共三百七十多萬篇分詞后文獻。最開始嘗試用程序詞表循環套語料循環得到每個詞的idf,后來又嘗試把語料存入mysql然后建立全文索引再循環用sql語句去查每個詞的idf,效率都十分不理想。

      最新的想法是利用solr搜索引擎的速度來做,所以首先要把mysql的數據導入solr。

一、開啟Solr服務

1、下載solr-5.3.1.tgz包,解壓之后為solr-5.3.1

2、通過bin/solr start命令開啟solr服務

3、開啟服務之后,默認是開啟8983端口,此時就可以使用localhost:8983/solr/進行訪問了

二、從Mysql數據庫中導入數據

1、創建core或collection:bin/solr create -c 集合名

2、從mysql官網中下載一個mysql-connector-java-5.1.25.zip壓縮包,解壓出一個mysql-connector-java-5.1.25-bin.jar包,將它分別copy到solr-5.3.1/server/lib和solr-5.3.1/server/solr-webapp/webapp/WEB-INF/lib當中(只copy到第一個路徑應該就可以)

3、將solr-dataimporthandler-5.3.1.jar和solr-dataimporthandler-extras-5.3.1.jar從solr-5.3.1/dist/文件夾下copy到solr-5.3.1/server/solr-webapp/webapp/WEB-INF/lib當中(只copy第一個文件應該就可以)

4、修改solr-5.3.1/server/solr/集合名/conf/managed-schema文件為schema.xml 

5、在schema.xml添加field(根據實際情況),如下:

<field name="quanwen" type="text_general" indexed="true" stored="true" required="true" />

6、修改solr-5.3.1/server/solr/collection/conf/下的solrconfig.xml的配置文件,增加一段添加數據庫數據的xml,如下:

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

7、在solr-5.3.1/server/solr/collection/conf/下創建data-config.xml文件,配置訪問數據庫的用戶名、密碼、查詢語句,column對應數據庫中字段、name對應solr的schema.xml中字段(根據實際情況),文件內容如下:  

<dataConfig>
    <dataSource driver="com.mysql.jdbc.Driver" url="jdbc:mysql://IP:3306/庫名" user="賬號" password="密碼"/>
    <document>
        <entity name="item" query="select * from 表名">
            <field column="id" name="id" />
            <field column="quanwen" name="quanwen" />
        </entity>
    </document>
</dataConfig>

8、重啟服務bin/solr restart

9、


免責聲明!

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



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