solr中文分词(mmseg4j)
来源:互联网 发布:银行防范电信网络诈骗 编辑:程序博客网 时间:2024/05/04 09:02
1、从http://code.google.com/p/mmseg4j/ 下载mmseg4j
2、在$SOLR_HOME下建立lib和dic两个目录,讲mmseg4j-all-1.8.4.jar拷贝到lib目录,将data里的.dic文件拷贝到dic目录
3、修改Schema.xml
添加fieldType
- <types>
- <fieldType name="textComplex" class="solr.TextField" positionIncrementGap="100" >
- <analyzer>
- <tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="complex" dicPath="/opt/solr/example/solr/dic"/>
- <filter class="solr.LowerCaseFilterFactory"/>
- </analyzer>
- </fieldType>
- <fieldType name="textMaxWord" class="solr.TextField" positionIncrementGap="100" >
- <analyzer>
- <tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="max-word" dicPath="/opt/solr/example/solr/dic"/>
- <filter class="solr.LowerCaseFilterFactory"/>
- </analyzer>
- </fieldType>
- <fieldType name="textSimple" class="solr.TextField" positionIncrementGap="100" >
- <analyzer>
- <tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="simple" dicPath="/opt/solr/example/solr/dic"/>
- <filter class="solr.LowerCaseFilterFactory"/>
- </analyzer>
- </fieldType>
- ..
- </types>
- <field name="simple" type="textSimple" indexed="true" stored="true" multiValued="true"/>
- <field name="complex" type="textComplex" indexed="true" stored="true" multiValued="true"/>
- <field name="maxword" type="textMaxWord" indexed="true" stored="true" multiValued="true"/>
- <copyField source="simple" dest="text"/>
- <copyField source="complex" dest="text"/>
重启tomcat
进入 http://yourhost:8080/solr-example/admin/analysis.jsp
哦也,我们的中文分词大功告成了
我们试着提交些中文到solr里,然后进行查询
- chinese.xml
- <add>
- <doc>
- <field name="id">1</field>
- <field name="title">夜晚和白天不同,如果相机设置不准确的话,照片拍出来就会发糊。那么本期佳能单反课堂就带您详细了解夜景拍摄的参数设置,同时为您讲解什么叫做“安全快门”。除此之外,还有更多新奇有趣的特殊拍摄手法,还等什么?马上进入本期的节目吧!</field>
- </doc>
- <doc>
- <field name="id">2</field>
- <field name="title">冰动娱乐自主研发的虚幻3即时回合制网络游戏!UnrealEngine3倾力打造、最终幻想式的创新玩法以及天马行空般的幻想三国题材将带给你耳目一新的全新感受。</field>
- </doc>
- <doc>
- <field name="id">3</field>
- <field name="title">solr是基于Lucene Java搜索库的企业级全文搜索引擎,目前是apache的一个项目。</field>
- </doc>
- <doc>
- <field name="id">4</field>
- <field name="title">中国人民银行是中华人民共和国的中央银行。</field>
- </doc>
- </add>
我们用curl进行提交
- curl 'http://localhost:8080/solr-example/update/?commit=true' -H "Content-Type: text/xml" --data-binary @chinese.xml
接下来我们试着查询一下:
查询结果
- <response>
- <lst name="responseHeader">
- <int name="status">0</int>
- <int name="QTime">2</int>
- <lst name="params">
- <str name="indent">on</str>
- <str name="start">0</str>
- <str name="q">title:单反</str>
- <str name="rows">10</str>
- <str name="version">2.2</str>
- </lst>
- </lst>
- <result name="response" numFound="1" start="0">
- <doc>
- <str name="id">1</str>
- <arr name="title"><str>夜晚和白天不同,如果相机设置不准确的话,照片拍出来就会发糊。那么本期佳能单反课堂就带您详细了解夜景拍摄的参数设置,同时为您讲解什么叫做“安全快门”。除此之外,还有更多新奇有趣的特殊拍摄手法,还等什么?马上进入本期的节目吧!</str></arr>
- </doc>
- </result>
- </response>
可能会遇到的问题:
1、在Query String:输入中文时候会乱码导致查询不到结果
解决办法:修改tomcat的server.xml
- <Server ...>
- <Service ...>
- <Connector ... URIEncoding="UTF-8"/>
- ...
- </Connector>
- </Service>
- </Server>
- solr+mmseg4j 中文分词
- solr中文分词(mmseg4j)
- solr+mmseg4j 中文分词
- solr+mmseg4j 中文分词
- solr中文分词(mmseg4j)
- solr中文分词(mmseg4j) 编辑
- solr中集成中文分词 mmseg4j
- solr下配置中文分词mmseg4j
- Solr与开源中文分词(mmseg4j)
- solr 中文分词 mmseg4j 使用例子
- Solr配置中文分词器mmseg4j详解
- solr中文分词mmseg4j详细配置
- Solr配置中文分词器mmseg4j详解
- 三、为solr配置mmseg4j中文分词
- Solr分词mmseg4j配置
- Solr配置中文分词器mmseg4j详解-linux版
- solr中MMSEG4j、IK Analyzer中文分词器安装配置
- [Nutch]Solr配置自定义的中文分词器mmseg4j
- Pyhton 数组
- ServletRequest接口学习
- oracle表级锁类型
- 用dedecms制作网站
- mysql insert语句后如何获取insert数据的主键值自动编号
- solr中文分词(mmseg4j)
- 一个整数列,除了一个数字重复2次,所有其他数字都重复4次。O(n)时间O(1)空间找到那个只出现2次的。
- 使用JavaScript和CSS实现异步移动侧边栏
- dedeCMS标签
- fix tit sub
- eclipse版本
- SD卡初始化及读写流程 【转】
- QT Embedded之QWSServer
- Java 利用DOM读取XML文档的例子