本文介绍如何从数据库将数据导入到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