配置dataimportehandler
来源:互联网 发布:淘宝二手书可靠吗 编辑:程序博客网 时间:2024/06/08 19:21
通过配置dataimporthandler, 我们可以让solr自动从数据库中读取记录。
1. 拷贝两个文件solr-dataimporthandler-4.5.1.jar和solr-dataimporthandler-extras-4.5.1.jar到/var/lib/tomcat6/webapps/solr/WEB-INF/lib目录中。这两个文件在下载的solr zip包里。
2. 安装mysql jdbc driver.
# yum install -y mysql-connector-java
# cp /usr/share/java/mysql-connector-java.jar /var/lib/tomcat6/webapps/solr/WEB-INF/lib
3. 修改 solrconfig.xml. 这个文件在 /opt/solr-tomcat/solr/<core_name>/conf目录中,增加下面几行
<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
<lst name="defaults">
<str name="config">mysql-data-config.xml</str>
</lst>
</requestHandler>
4. 增加mysql-data-config.xml文件,内容像这个格式:
<dataConfig>
<dataSource driver="com.mysql.jdbc.Driver" url="jdbc:mysql://115.29.228.170:3306/medidoctors" user="medidoctor" password="medidoctor" />
<document>
<entity name="medi_doctors" query="select * from medi_doctors">
<field column="Medi_ID" name="Medi_ID" />
<field column="Medi_DocName" name="Medi_DocName" />
<field column="Medi_DocDep" name="Medi_DocDep" />
<field column="Medi_DocHospital" name="Medi_DocHospital" />
<field column="Medi_HosAddress" name="Medi_HosAddress" />
<field column="Medi_DocWorkTime" name="Medi_DocWorkTime" />
<field column="Medi_HosTel" name="Medi_HosTel" />
<field column="Medi_DocGender" name="Medi_DocGender" />
<field column="Medi_DocInfo" name="Medi_DocInfo" />
<field column="Medi_HosRoute" name="Medi_HosRoute" />
</entity>
</document>
</dataConfig>
5. 在core/DataImport页面里试着import, 看/var/log/solr/solr.log是否有错误。