solr導入數據庫數據


solr是基於Luence的全文搜索引擎,它是基於web的應用,通過http的方式進行數據交互。它包括了與數據庫集成、全文搜索、搜索詞高亮、分組查詢、地理搜索等功能。

首先,說說solr如何從數據庫導入數據。

1、在core根目錄下創建一個lib文件夾,將相關的數據庫連接的jar放在該目錄下。

2、修改solrconfig.xml文件。

  新增lib引用,如下代碼。第一個lib引用,是為了solr導入數據庫數據所需要的包。第二個是連接數據庫所需要的包。這里是以連接SQL Server數據庫為例。如果需要連接MySQL,則引用連接MySQL的jar即可。

    <lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-dataimporthandler-.*\.jar" />
    <lib dir="./lib/" regex="sqljdbc4.jar" />

  將<schemaFactory>改為使用ClassicIndexSchemaFactory,如下代碼。這是為了能調用schema.xml

<schemaFactory class="ClassicIndexSchemaFactory" />

  添加dataimport的requestHandler,如下

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

3、配置db-data-config.xml文件

該文件是為了將數據庫的字段與solr中的field做映射關系。在core的根目錄新建該文件。文件類似如下:

<dataConfig>
    <dataSource driver="com.microsoft.sqlserver.jdbc.SQLServerDriver" url="" user="" password="" />
    <document>
        <entity name="resource" query="select id, title, content from resource">
            <field column="id" name="id" />
            <field column="title" name="title" />
            <field column="content" name="content" />
        </entity>
    </document>
</dataConfig>

4、配置schema.xml

將core根目錄下的managed-schema文件改名schema.xml。將db-data-config.xml中使用的filed添加到該文件中。在本文試驗中,在schema.xml中已有名為id的field,因此添加如下field就好了。

<field name="title" type="text_general" indexed="true" stored="true" />
<field name="content" type="text_general" indexed="true" stored="true" />

 

  現在配置已完成,重啟服務,在solr的管理界面,進入dataimport界面,如下圖。點擊“Excute”即可導入。在導入成功后,會顯示“Added/Upadted”條數,即導入的總條數。

 


免責聲明!

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



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