solr直接索引mysql数据库中的数据(solr实战二)

第一步:copy相应的jar包到相应文件夹

解压solr压缩包后,在dist文件夹下找到solr-dataimporthandler-4.9.0.jar、solr-dataimporthandler-extras-4.9.0.jar(版本根据自己的),将以上的两个jar包拷贝到tomcat根目录\webapps\solr\WEB-INF\lib的文件夹下。

拷贝mysql-connector-java-5.0.8-bin.jar(单独下载)的jar包到上面的同一个目录下。

第二步:修改配置文件

修改Solr工作根目录\collection1\conf路径下的solrconfig.xml文件,增加以下两行配置:

<lib dir="../../../dist/"regex="solr-dataimporthandler-.*\.jar" />
<lib dir="../../../dist/"regex="mysql-connector-java-.*\.jar" />

增加requestHandler配置:

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

第三步:在solrconfig.xml的同级目录下,自己新建data-config.xml文件,配置数据库连接和Solr与mysql数据的对应关系和查询语句。 

其中数据库,表名,字段名都需要根据自己的数据库进行更改。

<?xml version="1.0"encoding="UTF-8" ?>
<dataConfig> 
 <dataSource type="JdbcDataSource"driver="com.mysql.jdbc.Driver"url="jdbc:mysql://127.0.0.1/ewt_product" user="root"password="1234"/> 
  <document name="search_object">
     <entity name="talent" query="select PID, PName,PContent from m_product"> 
       <field column="PID" name="id"indexed="true" stored="true"/> 
       <field column="PName" name="pname"/> 
       <field column="PContent"name="pcontent"/> 
                   <!--TalentNames
       <entity name="talent_name" query="select value fromtalentname where talentId='${talent.id}'"> 
         <field column="value" name="name"/>
       </entity>  -->
     </entity>
  </document> 
</dataConfig>

第四步:在同一目录的schema.xml文件中配置相应的field

<field name="pname" type="text"indexed="true" stored="true"/> 
<field name="pcontent" type="text"indexed="true" stored="true"/>

第五步:重启solr,在浏览器地址栏输入以下链接,建立索引

批量导入(full-import): 

http://<host>:<port>/solr/dataimport?command=full-import&commit=y 

增量导入(delta-import): 

http://<host>:<port>/solr/dataimport?command=delta-import&commit=y 

导入状态查询(status):

http://<host>:<port>/solr/dataimport 

重新装载配置文件(reload-config): 

http://<host>:<port>/solr/dataimport?command=reload-config    

终止导入(abort):

http://<host>:<port>/solr/dataimport?command=abort

注:如果数据库中的数据量过大,出现heap outofmemory的异常可以在tomcat根目录\bin的文件夹下修改catalina.bat该文件,在执行前添加set JAVA_OPTS=%JAVA_OPTS% -Xms1024m -Xmx2048m(具体数值可以根据自己数据库情况和主机配置修改),重启tomcat。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值