700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 利用solr的 DataImportHandler从mysql数据库建立索引

利用solr的 DataImportHandler从mysql数据库建立索引

时间:2019-11-21 23:18:41

相关推荐

利用solr的 DataImportHandler从mysql数据库建立索引

/blog/2100619

/blog/2100619

本文所有实验在solr4.4上进行

quickStart 参考/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.mon.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> <lstname="responseHeader"> <intname="status">0</int> <intname="QTime">35</int> </lst> <lstname="initArgs"> <lstname="defaults"> <strname="config">data-config.xml</str> </lst> </lst> <strname="command">full-import</str> <strname="status">idle</str> <strname="importResponse"/> <lstname="statusMessages"/> <strname="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

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。