这篇文章,主要说的是怎么在solr中加入中文分词:
1、下载分词器:http://code.google.com/p/mmseg4j/
2、将解压后的mmseg4j-1.8.2目录下的mmseg4j-all-1.8.2.jar拷贝到Tomcat _HOME\webapps\solr\WEB-INF\lib目录下。
3、添加词库:在C:\solr-tomcat\solr目录下新建dic文件夹,将解压后的sogou-dic\data目录下的words.dic拷贝到C:\solr-tomcat\solr\dic目录下。
4、更改schema.xml(c:\solr-tomcat\solr\conf\)文件,使分词器起到作用。更改内容为:
<types> …… <!--mmseg4j field types--> <fieldType name="textComplex" class="solr.TextField" positionIncrementGap="100" > <analyzer> <tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="complex" dicPath="C:\solr-tomcat\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="C:\solr-tomcat\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="C:\solr-tomcat\solr\dic"/> <filter class="solr.LowerCaseFilterFactory"/> </analyzer> </fieldType> …… </types>
注:dicPath="C:\solr-tomcat\solr\dic"是你的词库路径,我的是放在了C:\solr-tomcat\solr\dic目录下。
<fields> …… <field name="simple" type="textSimple" indexed="true" stored="true" multiValued="true"/> <field name="complex" type="textComplex" indexed="true" stored="true" multiValued="true"/> <field name="text" type="textMaxWord" indexed="true" stored="true" multiValued="true"/> …… </fields>
<copyField source="simple" dest="text"/> <copyField source="complex" dest="text"/>
重启你的tomcat 。
访问:http://localhost:8089/solr/admin/analysis.jsp可以看 mmseg4j 的分词效果。在 Field 的下拉菜单选择 name,然后在应用输入 complex。分词的结果,如下图:
呵呵,可以运行起来了,那就添加个文档试试吧,在解压后的apache-solr-1.4.0\example\exampledocs目录下创建 mmseg4j-solr-demo-doc.xml 文档,内容如下:
<add> <doc> <field name="id">1</field> <field name="text">昨日,记者从解放军总参谋部相关部门获悉,截至3月28日,解放军和武警部队累计出动7.2万人次官兵支援地方抗旱救灾。组织民兵预备役人员20.2万人 次支援地方抗旱救灾。</field> </doc> <doc> <field name="id">2</field> <field name="text">下半年房价调整就是挤水分 房价回不到去年水平。</field> </doc> <doc> <field name="id">3</field> <field name="text">solr是基于Lucene Java搜索库的企业级全文搜索引擎,目前是apache的一个项目。</field> </doc> <doc> <field name="id">4</field> <field name="text">中国人民银行是中华人民共和国的中央银行。</field> </doc> </add>
然后在 cmd 下运行 post.jar,如下:
F:\lucene\solr\apache-solr-1.4.0\example\exampledocs>java -Durl=http://localhost:8089/solr/update -Dcommit=yes -jar post.jar mmseg4j-solr-demo-doc.xml (注意:F:\lucene\solr 要根据你自己的实际情况而定)
查看是否有数据,访问:http://localhost:8089/solr/admin/ 在Query String: 中输入“中国”,显示如下图所示:
呵呵,成功了。至于schema.xml中的配置属性会在下一章中进行详细的介绍。
[Solr分词顺序]
Solr建立索引和对关键词进行查询都得对字串进行分词,在向索引库中添加全文检索类型的索引的时候,Solr会首先用空格进行分词,然后把分词结果依次使用指定的过滤器进行过滤,最后剩下的结果才会加入到索引库中以备查询。分词的顺序如下:
索引
1:空格whitespaceTokenize
2:过滤词(停用词,如:on、of、a、an等) StopFilter
3:拆字WordDelimiterFilter
4:小写过滤LowerCaseFilter
5:英文相近词EnglishPorterFilter
6:去除重复词RemoveDuplicatesTokenFilter
查询
1:查询相近词
2:过滤词
3:拆字
4:小写过滤
5:英文相近词
6:去除重复词
以上是针对英文,中文的除了空格,其他都类似
文档下载:SOLR搭建企业搜索平台.doc
相关推荐
二、SOLR搭建企业搜索平台--中文分词 1. **下载分词器** - 获取mmseg4j的最新版本,例如mmseg4j-1.8.2,将其jar文件复制到Tomcat的webapps\solr\WEB-INF\lib目录下。 2. **添加词库** - 在solr-tomcat\solr目录...
### SOLR搭建企业级搜索平台:详尽指南与中文分词集成 #### 一、SOLR概述 SOLR,全称为Search Platform Optimized for Lucene in Java,是Apache Lucene的一个开源全文搜索引擎框架。它能够提供高性能的全文检索...
Solr 搭建步骤详解 Solr 是一款流行的开源搜索引擎 Server,基于 Lucene 搜索库。该引擎可以提供高效、可扩展、灵活的搜索功能。下面是 Solr 搭建步骤的详细解释: 1. Solr 搭建准备 在搭建 Solr 之前,需要了解...
在本教程中,我们将深入探讨如何搭建Solr 7.2.1环境,并配置中文分词器IKAnalyzer以支持中文搜索。 首先,我们来了解Solr 7.2.1的安装步骤: 1. **下载Solr**:访问Apache Solr官方网站,下载最新稳定版的Solr,...
Solr是Apache Lucene项目的一个子项目,是一个高性能、全文本搜索服务器,广泛应用于企业级搜索引擎搭建。在Solr 5.x和6.x版本中,中文分词器扮演着至关重要的角色,它负责将中文文本拆分成有意义的词汇,便于索引和...
本篇文章将详细讲解如何搭建Solr 5.0,并使用IK分词器进行中文分词处理,提升搜索效果。 首先,我们需要下载Solr 5.0的安装包。你可以访问Apache官方站点或者镜像站点获取最新版本的Solr。解压缩下载的文件后,你会...
Solr环境搭建与IKAnalyzer3分词整合 在本文中,我们将详细介绍如何搭建 Solr 环境并将 IKAnalyzer3 ...通过上述步骤,我们可以成功地搭建 Solr 环境并将 IKAnalyzer3 分词器整合到 Solr 中,从而实现中文搜索的功能。
总的来说,Solr 4.10.3版本结合IK分词器,为在Linux环境下搭建高性能的中文搜索服务提供了便利。通过合理的配置和优化,可以有效地提升搜索质量和效率,满足企业的各种搜索需求。在后续的运维中,定期更新索引、监控...
这个压缩包"solr安装包与ik中文分词器.zip"包含了这两个关键组件,旨在帮助用户快速搭建一个支持中文搜索的Solr环境。 首先,让我们详细了解Solr。Solr的核心功能包括文档的索引和检索,支持多种数据源的导入,如...
总的来说,Solr 6.0 中文分词通过引入 IKAnalyzer 实现了对中文文本的有效处理,这对于搭建和优化面向中文用户的搜索系统至关重要。理解并掌握如何配置和使用分词器,可以极大地提升 Solr 系统在中文环境下的性能和...
在中文搜索中,分词是至关重要的一步,它将连续的汉字序列切分成具有独立意义的词语。Solr支持多种分词器,例如ikanalyzer、smartcn等,这些分词器能够对中文文本进行有效的分词处理,提高搜索的准确性和覆盖率。在...
标题“lucene简单介绍及solr搭建使用”涉及了两个主要的开源搜索技术:Lucene和Solr。Lucene是Java开发的一个全文检索库,而Solr则是基于Lucene构建的企业级搜索平台,提供了更高级的功能和管理界面。 **Lucene简介...
本文详细介绍了如何在Linux环境下搭建Solr 7.4的单机版和集群版,并配置IK分词器以支持中文搜索。通过以上步骤,用户可以在自己的项目中实现高效的中文文本搜索功能,提高用户体验。同时,Solr的强大扩展性也为未来...
Solr是中国开源搜索服务器Lucene的一个企业级封装,它提供了更高级别的API和服务,使得在分布式环境中构建和管理全文搜索引擎变得简单。本教程将详细讲解如何搭建Solr,并涵盖拼音检索、三种主流分词器(smartcn、IK...