Solr数据库导入
Posted 大道至简-giserDev
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Solr数据库导入相关的知识,希望对你有一定的参考价值。
Solr数据库导入
1、在mysql中创建一张表t_solr,并插入测试数据。
2、把E:\\Solr\\solr-4.10.4\\example\\example-DIH\\solr\\db\\conf下的admin-extra.html, admin-extra.menu-bottom.html,admin-extra.menu-top.html三个文件也复制到conf中去。
打开E:\\Solr\\solrHome\\mycore\\conf路径下的
solrconfig.xml文件,添加如下节点:
<requestHandlername="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler"> <lstname="defaults"> <strname="config">data-config.xml</str> </lst> </requestHandler> |
3、新建一个data-config.xml文件,与solrconfig.xml同一个目录下。内容为:
<dataConfig> <dataSource type="JdbcDataSource" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost/test" user="root" password="giser" /> <document> <entity name="t_solr" transformer="DateFormatTransformer" query="SELECT id, subject, content, last_update_time FROM t_solr WHERE id >= ${dataimporter.request.id}"> <field column=\'last_update_time\' dateTimeFormat=\'yyyy-MM-dd HH:mm:ss\' /> </entity> </document> </dataConfig> |
说明:这里使用了一个${dataimporter.request.id},这个是参数,后面在做数据导入时,会使用到,以此条件为基准读数据。
4、复制解压出的solr jar包(E:\\Solr\\solr-4.10.4\\dist)solr-dataimporthandler-4.10.0.jar和solr-dataimporthandler-extras-4.10.0.jar到tomcat solr webapp的WEB-INF\\lib目录下(E:\\Solr\\apache-tomcat-7.0.65\\webapps\\solr\\WEB-INF\\lib)。
当然,也包括mysql的jdbc jar包:mysql-connector-java-5.1.7-bin.jar
(还有一种方法是在solrconfig.xml中加入lib节点,然后把jar包放到solrhome下,这样可以不在WEB-INF\\lib中加入jar包)
5、用记事本打开E:\\Solr\\solrHome\\mycore\\conf路径下的schema.xml,在solrhome文件夹中添加内容如下:
<!—type对应 --> <fieldtype name="string" class="solr.StrField" sortMissingLast="true" omitNorms="true"/> <fieldType name="long" class="solr.TrieLongField" precisionStep="0" positionIncrementGap="0"/>
<field name="subject" type="string" indexed="true" stored="true" /> <field name="content" type="string" indexed="true" stored="true" />
<defaultSearchField>subject</defaultSearchField> |
6、打开Solr,查询数据
通过地址直接访问:http://localhost:8080/solr/mycore/dataimport?command=full-import&clean=true&commit=true&wt=json&indent=true&entity=t_solr&verbose=false&optimize=false&debug=false&id=1
配置好后,之后我们只需要使用这个url地址,就可以不断的去导入数据做索引了。
通过DataImport生成索引:
查询结果:
总结:
遇到的问题1:
mysql java.sql.SQLException: Unknown system variable \'language 一:问题描述:mysql测试连接一致报错:Unknown system variable \'language\' 未知名的系统变量语言 二:用的Mysql的版本 5.6 用的连接 jar mysql-connector-java-5.1.36.jar 三:找到问题,mysql-connector-java-5.1.36.jar版本太高了,换成 mysql-connector-java-5.1.24.jar 问题解决!
|
遇到的问题2:
把solr-6.0\\solr-6.0.0\\example\\example-DIH\\solr\\db\\conf下的admin-extra.html, admin-extra.menu-bottom.html,admin-extra.menu-top.html三个文件也复制到conf中去。
以上是关于Solr数据库导入的主要内容,如果未能解决你的问题,请参考以下文章