转载

solr添加中文IK分词器,以及配置自定义词库

Solr 是一个基于 Lucene Java 搜索引擎服务器。 Solr  提供了层面搜索、命中醒目显示并且支持多种输出格式(包括 XML/XSLT JSON 格式)。它易于安装和配置,而且附带了一个基于 HTTP 的管理界面。 Solr 已经在众多大型的网站中使用,较为成熟和稳定。 Solr  包装并扩展了 Lucene ,所以 Solr 的基本上沿用了 Lucene 的相关术语。更重要的是, Solr  创建的索引与 Lucene 搜索引擎库完全兼容。通过对 Solr  进行适当的配置,某些情况下可能需要进行编码, Solr  可以阅读和使用构建到其他 Lucene 应用程序中的索引。此外,很多 Lucene 工具(如 Nutch Luke )也可以使用 Solr  创建的索引。

solr 默认是不支持中文分词的,这样就需要我们手工配置中文分词器,在这里我们选用 IK Analyzer 中文分词器。

IK Analyzer 下载地址: https://code.google.com/p/ik-analyzer/downloads/list

如图:


solr添加中文IK分词器,以及配置自定义词库

默认大家已经下载并解压了 solr ,在这里我们使用 solr 4.10.4 版本

试验环境 centos 6.5 JDK1.7

整合步骤

1 :解压下载的 IK Analyzer_2012_FF_hf1.zip 压缩包,把 IKAnalyzer2012FF_u1.jar 拷贝到 solr-4.10.4/example/solr-webapp/webapp/WEB-INF/lib 目录下

2 :在 solr-4.10.4/example/solr-webapp/webapp/WEB-INF 目录下创建目录 classes ,然后把 IKAnalyzer.cfg.xml stopword.dic 拷贝到新创建的 classes 目录下即可。

3 :修改 solr core schema 文件,默认是 solr-4.10.4/example/solr/collection1/conf/schema.xml, 添加如下配置

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

4 :启动 solr bin/solr start

5 :进入 solr web 界面 http://localhost:8983/solr, 看到下图操作结果即为配置成功


solr添加中文IK分词器,以及配置自定义词库

到现在为止, solr 就和 IK Analyzer 中文分词器整合成功了。

但是,如果我想自定义一些词库,让 IK 分词器可以识别,那么就需要自定义扩展词库了。

操作步骤:

1 :修改 solr-4.10.4/example/solr-webapp/webapp/WEB-INF/classes 目录下的 IKAnalyzer.cfg.xml 配置文件,添加如下配置

<entry key="ext_dict">ext.dic;</entry>

2 :新建 ext.dic 文件,在里面添加如下内容 ( 注意: ext.dic 的编码必须是 Encode in UTF-8 without BOM, 否则自定义的词库不会被识别 )

超人学院

3 :重启 solr 

4 :在 solr web 界面进行如下操作,看到图中操作结果即为配置成功。


solr添加中文IK分词器,以及配置自定义词库

更多精彩内容请访问: http://bbs.superwu.cn

关注超人学院微信:BJ-CRXY

正文到此结束
Loading...