1 Star 4 Fork 2

gitclebeg / solrchseg

Create your Gitee Account
Explore and code with more than 8 million developers,Free private repositories !:)
Sign up
Clone or Download
contribute
Sync branch
Cancel
Notice: Creating folder will generate an empty file .keep, because not support in Git
Loading...
README.md

jieba-solr

##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>

###Thanks 结巴分词 非常给力,感谢@fxsjy 给我们带来了如此给力的工具。

#solrchseg

About

solr中文分词插件,jieba-solr expand collapse
Java
Apache-2.0
Cancel

Releases

No release

Contributors

All

Activities

Load More
can not load any more
Java
1
https://gitee.com/gitclebeg/solrchseg.git
git@gitee.com:gitclebeg/solrchseg.git
gitclebeg
solrchseg
solrchseg
master

Search