Solr学习(2) Solr4.2.0+IK Analyzer 2012
Solr学习(二) Solr4.2.0+IK Analyzer 2012
开场白:
本章简单讲述如何在solr中配置著名的 IK Analyzer 分词器。
本章建立在 Solr学习(一) 基础上进行配置。
通过(一)的介绍,目前已经成功部署好单实例 solr+tomcat
声明:描述的比较笼统繁琐,有偏差的地方请大家毫不留情的拍砖
准备工作:
下载 “IK Analyzer 2012FF_hf1.zip”包。 详见:IK Analyzer中文分词器创始人 林良益 博客
名词解释:
IK源目录:解压缩“IK Analyzer 2012FF_hf1.zip”后得到的文件夹路径。解压缩后得到下图结构东东

IK三把刀:上图被选中的3个文件(IKAnalyzer.cfg.xml、IKAnalyzer2012FF_u1.jar、stopword.dic)
Tomcat :以下全部指 tomcat根目录。(例:E:\\apache-tomcat-6.0.35\\)。
开始生产
步骤1:将 IK三把刀”放入目录“...\Tomcat\webapps\solr\WEB-INF\lib”中,(注意!这里此时由于项目原来启动过一次,webapps下的“solr.war”包已经被成功发布部署成文“solr”文件夹了。所以这里是在solr文件内打开 WEB-INF\lib目录, 不然WAR包是不允许放入文件到特定目录)。
步骤2:开始设置IK分词器在“schema.xml”文件中的配置(schema.xml目录位置在 “...\Tomcat\solrapp\solr\collection1\conf”此处的 collection1 是默认的文件夹,有些朋友在先前配置时候会去改变此文件夹名称,请注意自行匹配);
打开schema.xml文件(尽量使用UE打开,防止乱码)在<types></types>中增加如下内容
<fieldType name="text_ik" class="solr.TextField">
<analyzer type="index" isMaxWordLength="false" class="org.wltea.analyzer.lucene.IKAnalyzer"/>
<analyzer type="query" isMaxWordLength="true" class="org.wltea.analyzer.lucene.IKAnalyzer"/>
</fieldType>
这样就OK了。 增加了用 IK分词算法提供的字段类型。 (IK分词算法的其他扩展配置请自行参考IK算法的配置说明文档。在“IK三把刀”目录里头的PDF文件里有。)
测试阶段
可能一些朋友会想看看效果,确认一下IK分词器成功配置,接下来我们来尝试测试一下IK分词效果吧。
(看到此处的朋友,其实可以跳到看 schema.xml的具体字段说明文章去。 大概了解一下schema.xml是干嘛用的,不过不看也无妨,我们只是为了证明IK配置成功。)
我们在 schema.xml 文件里头。找到如下代码片段。(schema.xml文件在哪里?看步骤2 ...)
<field name="name" type="text_general" indexed="true" stored="true"/>
意思是这里有一个字段标示名字叫做name,类型text_general,这个时候我们把类型改变成刚刚添加的IK类型text_ik; 变成:
<field name="name" type="text_ik" indexed="true" stored="true"/>
瞎扯:我想看到这里一些朋友应该就能明白schema.xml干嘛的吧。Schema.xml 就像一张很大很大的描述索引样子的表。里头有很多字段field,然后要定义字段的类型fieldType。在在field里头引用fieldType(有点springIOC的味道 - -..)。
启动tomcat ..
进入solr界面 http://localhost:8080/solr
新手可能对solr的界面还不熟悉。我这里截图说明下。
选择core (这里没有默认配置。要去选一个);我们这里选 collection1

然后再选择 analysis

这个是分词界面。
选择刚刚我们针对配置的 name 字段。 然后输入要分词的词语 “魔兽世界” ,点按钮 “analyse values”; 会发现出现了分词为 “魔兽”“世界”

我们再试试其他没有引用分词器的字段的分词效果。 我选择了 “content” 字段,出现的结果就是全字分词了(solr默认的一种分词方式)。

结束!!!
这里分词的多样化根据分词器来设定。。 个人喜欢使用IK Analyzer分词器;而且配置SOLR比较方便。
Solr学习(2) Solr4.2.0+IK Analyzer 2012的更多相关文章
- Solr学习总结(八)IK 中文分词的配置和使用
最近,很多朋友问我solr 中文分词配置的问题,都不知道怎么配置,怎么使用,原以为很简单,没想到这么多朋友都有问题,所以今天就总结总结中文分词的配置吧. 有的时候,用户搜索的关键字,可能是一句话,不是 ...
- 转:solr6.0配置中文分词器IK Analyzer
solr6.0中进行中文分词器IK Analyzer的配置和solr低版本中最大不同点在于IK Analyzer中jar包的引用.一般的IK分词jar包都是不能用的,因为IK分词中传统的jar不支持s ...
- solr学习之域的管理与中文分析器配置
该文使用 Centos6.5 64 位 solr4.10.3 IK-Analyzer中文分析器 一.solr域 在solr中域的概念与lucene中域的概念相同,数据库的一条记录或者一个文 ...
- 整合Solr到Tomcat服务器,并配置IK分词
好久没有接触新东西了,最新开始熟悉solr,实例展示单机环境solr整合. 整合方案一 1.下载Tomcat与solr并解压 Tomcat解压后磁盘路径为D:\program files\Tomcat ...
- Solr3.6.2和Solr4.9.0经常使用配置
tomcat 以tomcat 7为例,位置/work/apache-tomcat-7.0.55 Solr 3.6.2 基本配置 Solr 3.6.2.须要JDK 6/JDK7支持. 下载Solr 3. ...
- 我与solr(六)--solr6.0配置中文分词器IK Analyzer
转自:http://blog.csdn.net/linzhiqiang0316/article/details/51554217,表示感谢. 由于前面没有设置分词器,以至于查询的结果出入比较大,并且无 ...
- Solr学习笔记之2、集成IK中文分词器
Solr学习笔记之2.集成IK中文分词器 一.下载IK中文分词器 IK中文分词器 此文IK版本:IK Analyer 2012-FF hotfix 1 完整分发包 二.在Solr中集成IK中文分词器 ...
- Win7下Solr4.10.1和IK Analyzer中文分词
1.下载IK中文分词压缩包IK Analyzer 2012FF_hf1,并解压到D:\IK Analyzer 2012FF_hf1: 2.将D:\IK Analyzer 2012FF_hf1\IKAn ...
- 13.solr学习速成之IK分词器
IKAnalyzer简介 IKAnalyzer是一个开源的,基于java语言开发的轻量级的中文分词工具包. IKAnalyzer特性 a. 算法采用“正向迭代最细粒度切分算法”,支持细粒度和最大词长两 ...
随机推荐
- BaseAdapter导致notifyDataSetChanged()无效的三个原因及处理方法
原文 http://blog.csdn.net/dawanganban/article/details/21376979 前一段时间在做一个项目的时候遇到了一个关于BaseAdapter的notif ...
- virtualBox 安装CentOS 全屏
在VirtualBox里安装CentOS系统,会遇到“增强工具”无法正常安装,主要的原因是出在Kernel 库找不到. 错误提示如下: 通过查看日志文件: cat /var/log/vboxadd-i ...
- EEPROM和flash的区别
存储器分为两大类:ram和rom.ram就不讲了,今天主要讨论rom. rom最初不能编程,出厂什么内容就永远什么内容,不灵活.后来出现了prom,可以自己写入一次,要是写错了,只能换一片,自认倒霉. ...
- 普林斯顿大学算法课 Algorithm Part I Week 3 排序稳定性 Stability
稳定性(Stability):先按性质A排序,再按性质B排序,性质B相同的那些项是否仍然是按性质A排序的? 一个稳定的排序,相同值的元素应仍保持相对顺序(relative order) 稳定的算法:插 ...
- 如果在文档已完成加载后执行 document.write,整个 HTML 页面将被覆盖
<!DOCTYPE html> <html> <body> <h1>My First Web Page</h1> <p>My F ...
- 用python处理文本数据 学到的一些东西
最近写了一个python脚本,用TagMe的api标注文本,并解析返回的json数据.在这个过程中遇到了很多问题,学到了一些新东西,总结一下. 1. csv文件处理 csv是一种格式化的文件,由行和列 ...
- 在Oracle中使用sql获取数据库名称
在Oracle中使用sql获取当前数据库名称 select name from v$database;
- The encryption certificate of the relying party trust identified by thumbprint is not valid
CRM2013部署完ADFS后通过url在浏览器中訪问測试是否成功,成功进入登陆界面但在登陆界面输入username和password后始终报身份验证失败,系统中的报错信息例如以下:Microsoft ...
- 使用jquery-mockjax模拟ajax请求做前台測试
一般来说,我们做web开发的时候前后台是分开做的,这样带来的优点是前台的开发者能够安心的写前台代码而后台的小伙伴就安心研究后台就OK了. 可是这样带来一个问题.当后台的小伙伴被天灾军团带走了,那前台须 ...
- UIViewController、UINavigationController与UITabBarController的整合使用
UINavigationController与UITabBarController是iOS开发中最常用的两种视图控制器,它们都属于UIViewController的子类,继承关系如下: @interf ...