本文介绍如何从数据库将数据导入到Solr并且使用jcseg进行分词
在tomcat目录下,solr的配置文件目录:\tomcat\solr\collection1\conf
(1)schema.xml
- <?xml version="1.0" encoding="UTF-8"?>
- <schema name="album" version="1.5">
- <types>
- <fieldType name="tdouble" class="solr.TrieDoubleField" sortMissingLast="true" omitNorms="true"/>
- <fieldtype name="string" class="solr.StrField" sortMissingLast="true" omitNorms="true"/>
- <fieldType name="tdate" class="solr.TrieDateField" sortMissingLast="true" omitNorms="true"/>
- <fieldtype name="tlong" class="solr.TrieLongField" sortMissingLast="true" omitNorms="true"/>
- <fieldType name="long" class="solr.TrieLongField" precisionStep="0" positionIncrementGap="0"/>
- <fieldType name="int" class="solr.TrieIntField" sortMissingLast="true" omitNorms="true"/>
- <fieldtype name="textComplex" class="solr.TextField">
- <analyzer>
- <tokenizer class="org.lionsoul.jcseg.solr.JcsegTokenizerFactory" mode="complex"/>
- </analyzer>
- </fieldtype>
- <fieldtype name="textSimple" class="solr.TextField">
- <analyzer>
- <tokenizer class="org.lionsoul.jcseg.solr.JcsegTokenizerFactory" mode="simple"/>
- </analyzer>
- </fieldtype>
- </types>
- <fields>
- <field name="query" type="textComplex" indexed="true" stored="true"/>
- <field name="num" type="long" indexed="true" stored="true"/>
- <field name="_version_" type="long" indexed="true" stored="true"/>
- </fields>
- <uniqueKey>query</uniqueKey>
- <!-- defaultSearchField>titleBak</defaultSearchField-->
- </schema>
(2) solrconfig.xml
添加:
- <requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
- <lst name="defaults">
- <str name="config">data-config.xml</str>
- </lst>
- </requestHandler>
(3) data-config.xml
- <?xml version="1.0" encoding="utf-8"?>
- <dataConfig>
- <dataSource type="JdbcDataSource" driver="com.mysql.jdbc.Driver"
- url="jdbc:mysql://localhost:3306/search"
- user="root"
- password="passw0rd"/>
- <document name="test">
- <entity name="keyword" query="select query, num from aa">
- <field column="query" name="query" />
- <field column="num" name="num" />
- </entity>
- </document>
- </dataConfig>
(4)、将mysql的驱动文件mysql-connector-java-5.1.20-bin.jar添加到solr的war包中(\tomcat\webapps\solr\WEB-INF\lib),solr-dataimporthandler-4.6.jar 加入到 \tomcat\webapps\solr\WEB-INF\lib 中。
(5)、重启服务,在浏览器中输入http://localhost:8080/solr/#/collection1/dataimport//dataimport ,进入下面界面,进行导入:
同时,推荐一篇类似的文章:
http://blog.csdn.net/hbuxzy/article/details/9254071