/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