##notice: 本项目是基于 jieba-solr,项目地址:git@git.oschina.net:holmos/jieba-solr。 项目提供了三个可以集成到 Solr5 的中文分词器,由于 Lucene5.0 修改了接口, 所以以前的中文分词器必须修复几个bug才能使用。(会基于最新的 solr版本 不定时更新) 另外官方文档没有详细的部署过程,下面详细介绍每个模块的部署过程。
jieba-analysis adapter for solr
###Require Lucene 5.0.0
###DEMO
####结巴分词 如何部署? *1、必须将 jieba-analysis.jar 同时部署到 solr classpath中,以 Solr 自带的服务器为例子的话: 必须将 jieba-analysis.jar 部署到 server/solr-webapp/webapp/WEB-INF/lib下面。 由于上述jar包中已经包含了字典,所以在配置 schema.xml 的时候不需要指定字典的位置。
*2、配置 schema.xml。
<fieldType name="text_jieba" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
<tokenizer class="jieba.solr.JiebaTokenizerFactory" segMode="SEARCH"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" />
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.SnowballPorterFilterFactory" language="English"/>
</analyzer>
<analyzer type="query">
<tokenizer class="jieba.solr.JiebaTokenizerFactory" segMode="SEARCH"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" />
<filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.SnowballPorterFilterFactory" language="English"/>
</analyzer>
</fieldType>
####斯坦福中文分词
stanford 的 solr5 中文分词插件 部署说明 *1、将 jieba-solr-0.0.1-SNAPSHOT.jar、stanfor-corenlp.jar 复制到 solr 服务器的 jar 包加载目录中。 如默认自带服务器,即拷贝到:server/solr-webapp/webapp/WEB-INF/lib。
*2、注意文件夹中的中文词典是下载:stanford-segmenter-2015-01-29.zip,解压之后得到的。
*3、配置文件 schema.xml,增加如下type即可使用这些type,一定要注意指定词典的位置。 这个参数指定:modelDir="/Users/zhangcheng/Downloads/softwares/stanford-segmenter-2014-06-16/data"
<fieldType name="text_stanford" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
<tokenizer class="stanford.solr.StanfordTokenizerFactory" modelDir="/Users/zhangcheng/Downloads/softwares/stanford-segmenter-2014-06-16/data" />
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" />
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.SnowballPorterFilterFactory" language="English"/>
</analyzer>
<analyzer type="query">
<tokenizer class="stanford.solr.StanfordTokenizerFactory" modelDir="/Users/zhangcheng/Downloads/softwares/stanford-segmenter-2014-06-16/data" />
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" />
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.SnowballPorterFilterFactory" language="English"/>
</analyzer>
</fieldType>
####复旦中文分词 *1、将 jieba-solr-0.0.1-SNAPSHOT.jar、fnlp-core.jar 复制到 solr 服务器的 jar 包加载目录中。 如默认自带服务器,即拷贝到:server/solr-webapp/webapp/WEB-INF/lib。
*2、注意文件夹中的中文模型models是在 git@github.com:xpqiu/fnlp 获得的,clone之后models文件夹就是。
*3、配置文件 schema.xml,增加如下type即可使用这些type,一定要注意指定词典的位置。 这个参数指定:modelDir="/Users/zhangcheng/Documents/fnlp_models/fnlp_modes"
<fieldType name="text_fnlp" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
<tokenizer class="fnlp.solr.FnlpTokenizerFactory" modelDir="/Users/zhangcheng/Documents/fnlp_models/fnlp_modes" useStop="false"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" />
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.SnowballPorterFilterFactory" language="English"/>
</analyzer>
<analyzer type="query">
<tokenizer class="fnlp.solr.FnlpTokenizerFactory" modelDir="/Users/zhangcheng/Documents/fnlp_models/fnlp_modes"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" />
<!--<filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>-->
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.SnowballPorterFilterFactory" language="English"/>
</analyzer>
</fieldType>
####ansj中文分词器(目前有bug,还需要测试) *1、将 jieba-solr-0.0.1-SNAPSHOT.jar、ansj_seg-2.0.8.jar、nlp-lang-0.3.jar、library目录复制到 solr 服务器的 jar 包加载目录中。 如默认自带服务器,即拷贝到:server/solr-webapp/webapp/WEB-INF/lib。 如果需要自定义配置,需要添加library.property。 *2、注意文件夹中的中文模型library是在 http://github.com/NLPchina/ansj_seg 获得的,clone之后library文件夹就是。
*3、配置文件 schema.xml,增加如下type即可使用这些type,一定要注意指定词典的位置。
<fieldType name="text_cn" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
<tokenizer class="org.ansj.solr.AnsjTokenizerFactory" conf="ansj.conf"/>
</analyzer>
<analyzer type="query">
<tokenizer class="org.ansj.solr.AnsjTokenizerFactory" analysisType="1"/>
</analyzer>
</fieldType>
#solrchseg
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。