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 ,在这里我们使用 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 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 界面进行如下操作,看到图中操作结果即为配置成功。
更多精彩内容请访问: http://bbs.superwu.cn
关注超人学院微信:BJ-CRXY