1 solr索引和搜索过程:
2 分词器:
在创建索引时会用到分词器,在使用字符串搜索时也会用到分词器,这两个地方要使用同一个分词器,否则可能会搜索不出结果。
Analyzer(分词器)的作用是把一段文本中的词按一定规则进行切分。对应的是Analyzer类,这是一个抽象类,切分词的具体规则是由子类实现的,所以对于不同的语言(规则),要用不同的分词器。(也就是说不同的分词器分词的规则是不同的!)
分词器的一般工作流程:
1、切分关键词
2、去除停用词(去掉干扰字符)
3、对于英文单词,把所有字母转为小写(搜索时不区分大小写)
停用词:
有些词在文本中出现的频率非常高,但是对文本所携带的信息基本不产生影响。 英文 a、an、the、of... 中文 的、了、着、是 、标点符号等 文本经过分词之后,停用词通常被过滤掉,不会被进行索引。 在检索的时候,用户的查询中如果含有停用词,检索系统也会将其过滤掉(因为用户输入的查询字符串也要进行分词处理)。 排除停用词可以加快建立索引的速度,减小索引库文件的大小。 英文停用词:http://blog.csdn.net/shijiebei2009/article/details/39696523 中文停用词http://wenku.baidu.com/link?url=I8__RQMCRwSwcru8nPHLu7U5pvt7h8z_kEVU1vgN9Td1UWN88u_qyxZ4k-fERH9SJCXn7wiMWPH6aBpb2ZTnXE7ro9JEl-rGFh4KUxl7YZu
中文分词器
单字分词: 如:“我们是中国人”效果:“我”“们”“是”“中”“国”“人”(StandardAnalyzer、ChineseAnalyzer就是这样) 二分法分词:按两个字进行切分。 如:“我们是中国人”,效果:“我们”、“们是”、“是中”、“中国”、“国人”。(CJKAnalyzer就是这样)。 词库分词:按某种算法构造词,然后去匹配已建好的词库集合,如果匹配到就切分出来成为词语。通常词库分词被认为是最理想的中文分词算法。
几个重要的分词器
3 使用IKAnalyzer2012分词和搜狗词库:
1 把IKAnalyzer2012FF_u1.jar包导入solr-web应用下的lib目录下solr4/example/solr-webapps/webapp/web-inf/lib/ 2 把IKAnalyzer.cfg.xml和stopword.dic文件放置到solr-web类路径下(classes) solr4/example/solr-webapps/webapp/WEB-INF/classes/ 3 修改solr的schema.xml 增加ik的引用 <!--配置IK分词器--> <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> 其中索引则采用它的细粒度分词法,查询采用IK自己的最大分词法。 4 添加自定义词库 将sougou.dic无BOM utf8格式词库拷贝到solr4/example/solr-webapps/webapp/WEB-INF/classes/下和stopword.dic同级 修改solr/example/solr-webapps/webapp/WEB-INF/classes/IKAnalyzer.cfg.xml 添加sougou.dic 写绝对和相对路劲都可以 相对路径是相对IKAnalyzer.cfg.xml而言的 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd"> <properties> <comment>IK Analyzer 扩展配置</comment> <!--用户可以在这里配置自己的扩展字典 <entry key="ext_dict">sougou.dic;</entry> --> <entry key="ext_dict">ext.dic;</entry> <!--用户可以在这里配置自己的扩展停止词字典--> <entry key="ext_stopwords">stopword.dic;</entry> </properties> 5 修改solr的schema.xml 将字段比如 name使用默认分词类型修改为 我们定义的 text_ik 重启solr 这样查询name的时候默认就使用text_ik我们的分词器了
ik查询结果图如下:
附件是修改好的 IKAnalyzer2012FF_u1.jar, schema.xml , sougou.dic , IKAnalyzer.cfg.xml
相关推荐
标题和描述提到的是针对Solr 5.5和Solr 6.0版本的IK分词器支持的相关资料,这意味着这些资源可能包括配置文件、文档、示例代码或者更新日志,帮助用户在这些特定版本的Solr中集成和优化IK分词器。 首先,让我们来看...
本教程将详细解释如何在Solr中安装和使用IK分词器。 首先,让我们理解一下什么是分词器。在文本检索和自然语言处理领域,分词是将连续的文本分解成有意义的词语单元(如单词或短语)的过程。对于中文,由于没有明显...
总之,IK分词器在Solr中的应用大大提升了中文文本检索的准确性和效率。通过合理的配置和优化,可以更好地服务于各种中文信息检索场景。在实际项目中,理解并掌握IK分词器的原理和使用方法,将有助于提升Solr的中文...
2. **Solr7.0集成IK分词器.docx**:这是一份详细的文档,指导用户如何在 Solr 7 中配置和使用 ik 分词器。它会涵盖安装步骤、配置参数设置以及可能出现的问题及其解决方案,对于初次使用者来说非常有价值。 3. **ik...
这些jar文件需要被添加到Solr的类路径中,以便Solr在启动时能够识别和使用IK分词器。 "ext.dic"文件是扩展词典,它包含了一些用户自定义的词语或者专业术语。这些词汇可能不在标准的分词库中,但对特定领域或应用来...
标题中的“solr配置IK分词器Jar包和配置文件”意味着我们需要将IK分词器的相关库文件(Jar包)添加到Solr的类路径中,并且对Solr的配置文件进行适当的修改,以便Solr知道如何使用这个分词器。 首先,你需要下载IK...
在Solr的配置文件中,如“solr/conf/solrconfig.xml”和“solr/conf/managed-schema”中,我们需要指定使用IK分词器。添加或修改相应的分析器设置,比如设置默认的查询分析器和索引分析器为IKAnalyzer。重启Solr服务...
文件`ikanalyzer-solr5`可能是一个包含IK分词器的Solr插件包,用于Solr 5版本,虽然与标题中的Solr 6.5不完全匹配,但在实际应用中,IK分词器的版本通常与Solr版本保持一致,以确保最佳兼容性和性能。如果需要在Solr...
IK分词器,支持solr6.60高版本,支持智能分词和细粒度分词,经本人测试可以使用的,支持高版本,智能分词用IKCrudeAnalyzer
solr 中文查询分词器,把一串字符分作多个词语进行查询
在Solr 5.0.0中使用IK分词器,可以显著提高中文文本的检索效果,通过智能分词和新词识别,使得用户输入的关键词能够更准确地匹配到文档中的内容。同时,通过调整分词器的配置,还能进一步优化搜索体验,满足不同的...
Ik分词器(IK Analyzer)是一个专门为Java设计的中文分词库,广泛应用于Solr和Elasticsearch等搜索引擎中。 标题中的"solr(ik分词器)需要的jar包"指的是为了在Solr中使用IK分词器,我们需要下载并添加相应的Java ...
5. **与Elasticsearch的兼容性**:描述中提到的"elasticsearch-analysis-ik-6.6.1"表明IK分词器不仅适用于Solr,还兼容Elasticsearch,这是一个流行的数据存储和搜索平台。这意味着IK分词器在两个平台上都能提供一致...
将IK分词器集成到Solr中,可以优化中文文本的索引和查询性能,提高搜索的准确性和召回率。 IK分词器的核心优势在于其强大的分词能力。它支持自定义词典,用户可以根据实际需求添加或删除词汇,以适应特定领域的分词...
最新版solr4.3的IK分词器,中文分词效果良好!对付一般的大众分词没有问题
使用IK分词器的热更新功能,可以在不重启Solr的情况下动态加载新词库,提高系统的灵活性。 总结来说,集成和使用IK分词器是提升Solr6.0中文搜索性能的关键步骤。正确配置并结合实际情况进行优化,能有效提升搜索...
将这个JAR文件添加到Solr的lib目录下,可以让Solr使用IK分词器进行中文分词处理。 **深蓝词库转换.exe** 深蓝词库转换工具可能是用来将词库文件转换成适合IK Analyzer或其他分词器使用的格式。词库对于分词器来说...
通过以上步骤,你可以在Solr中使用Ik分词器对中文内容进行高效索引和查询,同时结合MySQL数据库实现数据的实时同步和检索。 总结一下,Ik分词器是Solr处理中文文本的关键组件,它通过动态词汇表和两种分词模式提供...