利用solr的 DataImportHandler从mysql数据库建立索引
生活随笔
收集整理的這篇文章主要介紹了
利用solr的 DataImportHandler从mysql数据库建立索引
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
http://quentinxxz.iteye.com/blog/2100619
http://quentinxxz.iteye.com/blog/2100619
?
本文所有實驗在solr4.4上進行
?quickStart 參考?http://wiki.apache.org/solr/DIHQuickStart
步驟1: 首先修改solrconfig.xml 加往上DataImportHandler的配置 <requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler"> <lst name="defaults"><str name="config">data-config.xml</str> </lst> </requestHandler> 步驟2:配置solr服務器時一般報這個錯org.apache.solr.common.SolrException: RequestHandler init failure或java.lang.ClassNotFoundException: org.apache.solr.handler.dataimport.DataImportHandler異常。原因是找不到solr-dataimporthandler-4.4.0.jar這個jar包,默認不在solr.war包里,在下載包的dist目錄下 我的做法是直接 solr-dataimporthandler-4.4.0.jar 與solr-dataimporthandler-extra-4.4.0.jar 兩個jar包放入solr-webapp\webapp\WEB-INF\lib目錄 mysql-connector-java-5.1.31.jar 也要放入該目錄下。 當然也可以利用solrconfig.xml中的lib標簽進行配置? <lib ...... /> 步驟3:?新建data-config.xml 文件,到conf目錄下。示例如下 <dataConfig> <dataSource type="JdbcDataSource"????????????? driver="com.mysql.jdbc.Driver"
????????????? url="jdbc:mysql://199.xxx.xxx.xxx/quentinxxz_com"
????????????? user="qqq"
????????????? password="qqq"/> <document>
??? <entity name="product"
??????????? query="select id, price,modify_time from tts_product">
?????? <field column="price" name="tts_price"/>
?????? <field column="modify_time" name="tts_modify_time"/>
??? </entity>
? </document>
</dataConfig> 步驟4:再在schema.xml中加入field <field name="tts_price" type="int" indexed="true" stored="true" /> ????
???? <field name="tts_modify_time" type="date" indexed="true" stored="true" /> ? ? ? 步驟5: 訪問http://solr-host:port/solr/dataimport?command=full-import??進行一步全量索引。默認情況下,索引先被全部清除。如果你不想清除可加入參數clean=false. ?http://solr-host:port/solr/dataimport?command=full-import&clean=false http://solr-host:port/solr/dataimport?command=full-import 默認返回結果為 <response> <lst?name="responseHeader"> <int?name="status">0</int> <int?name="QTime">35</int> </lst> <lst?name="initArgs"> <lst?name="defaults"> <str?name="config">data-config.xml</str> </lst> </lst> <str?name="command">full-import</str> <str?name="status">idle</str> <str?name="importResponse"/> <lst?name="statusMessages"/> <str?name="WARNING"> This response format is experimental. It is likely to change in the future. </str> </response> 當然也可能通過web ui界面進行索引操作 http://localhost:8983/solr/#/collection1/dataimport//dataimport??
?
轉載于:https://www.cnblogs.com/davidwang456/articles/9449684.html
總結
以上是生活随笔為你收集整理的利用solr的 DataImportHandler从mysql数据库建立索引的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java问题排查工具箱
- 下一篇: java如何实现python的urlli