对本地Solr服务器添加IK中文分词器实现全文检索功能
2017-02-26 15:25
253 查看
在上一篇随笔中我们提到schema.xml中<field/>元素标签的配置,该标签中有四个属性,分别是name、type、indexed与stored,这篇随笔将讲述通过设置type属性的值实现中文分词的检索功能
首先下载IK中文分词项目,下载地址
其中除了含有jar包之外,还有三个相关的配置文件
第一步,将IKAnalyzer2012FF_u1.jar添加到项目的WEB-INF\lib目录下
第二步,将IKAnalyzer.cfg.xml与stopword.dic添加到项目的classes目录下
其中的ext.dic文件可手动进行扩展字典配置,在IKAnalyzer.cfg.xml配置文件中,我们可以看到对应的配置
<?xmlversion="1.0"encoding="UTF-8"?> <!DOCTYPEpropertiesSYSTEM"http://java.sun.com/dtd/properties.dtd"> <properties> <comment>IKAnalyzer扩展配置</comment> <!--用户可以在这里配置自己的扩展字典--> <entrykey="ext_dict">ext.dic;</entry> <!--用户可以在这里配置自己的扩展停止词字典--> <entrykey="ext_stopwords">stopword.dic;</entry> </properties>
第三步,也就是最重要的一步,需要在schema.xml文件中配置分词类型
<fieldTypename="text_ik"class="solr.TextField"> <analyzertype="index"isMaxWordLength="false"class="org.wltea.analyzer.lucene.IKAnalyzer"/> <analyzertype="query"isMaxWordLength="true"class="org.wltea.analyzer.lucene.IKAnalyzer"/> </fieldType>
配置完成后,启动本地服务,在Analysis菜单页中可以实现分词测试
这样我们在自定义field时,对需要分词的字段,则将其type属性值设为fieldType的name值即可实现分词检索
再这里再记录下,在schema.xml中两个会用到的另外两个标签,uniqueKey与solrQueryParser
uniqueKey用来设置主键名称,默认为id
solrQueryParser用来设置分词时对字段的查询条件and与or,默认是or且被注释掉,当为and时,需要这个字段中包含输入的关键字分词后,所有的数据才能匹配成功
相关文章推荐
- 火力全开——仿造Baidu简单实现基于Lucene.net的全文检索的功能
- 仿造Baidu简单实现基于Lucene.net的全文检索的功能
- 火力全开——仿造Baidu简单实现基于Lucene.net的全文检索的功能
- Solr全文检索服务器搭建与基本使用介绍
- solr全文检索实现原理
- 用Sphinx给dedecms 5.5添加全文检索的功能
- 实现Django的全文检索功能(一):选择Whoosh全文检索引擎
- CaptainGan------使用递归方法实现,向FTP服务器上传整个目录结构、从FTP服务器下载整个目录到本地的功能
- 为web项目添加Lucene全文检索功能(Spring集成Lucene)
- Solr全文检索服务器搭建与基本使用介绍
- 使用compass+lucene实现简单的全文检索功能
- 利用excel进程实现导入功能时在本地能正常操作,在服务器上始终报错
- 实现Django的全文检索功能(二):集成haytack
- 实现Django的全文检索功能(三):进一步学习Haystack
- 使用递归方法实现,向FTP服务器上传整个目录结构、从FTP服务器下载整个目录到本地的功能
- 使用递归方法实现,向FTP服务器上传整个目录结构、从FTP服务器下载整个目录到本地的功能
- linux 下实现本地添加/删除软件的功能
- 实现Django的全文检索功能(三):进一步学习Haystack
- 全文检索技术-lucene,solr,nutch,hadoop,可见nutch除了做爬虫,还可以实现全文检索
- iOS实战演练之关于数据交互的问题(利用XAMPP搭建本地服务器, 编写PHP代码实现iOS端注册登录功能)