有的时候,用户搜索的关键字,可能是一句话,不是很规范。所以在 Solr 中查询出的时候,就需要将用户输入的关键字进行分词。
目前有很多优秀的中文分词组件。本篇只以 IKAnalyzer 分词为例,讲解如何在 solr 中及集成中文分词,使用 IKAnalyzer的原因 IK 比其他中文分词维护的勤快,和 Solr 集成也相对容易。具体就不多介绍,这里直接solr 集成 IK 的方法。
1. 首先,下载IKAnalyzer ,下载
注意:以前老的IK 不支持Solr 5.3的版本 ,请注意下载最新的。
2. 将ik的相关文件 拷贝到 webapps\solr\WEB-INF\lib 目录下
3. 在 solr_home\mycore1\conf\schema.xml 增加如下配置
<!-- 我添加的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>
同时,把需要分词的字段,设置为text_ik,
<field name="id" type="int" indexed="true" stored="true" required="true" multiValued="false" /> <field name="name" type="text_ik" indexed="true" stored="true" required="true" multiValued="false" /> <field name="title" type="text_ik" indexed="true" stored="true" required="true" multiValued="false" /> <field name="category" type="int" indexed="true" stored="true" required="true" multiValued="false" /> <field name="content" type="text_ik" indexed="true" stored="true" required="true" multiValued="false" /> <field name="price" type="double" indexed="true" stored="true" required="true" multiValued="false" /> <field name="color" type="string" indexed="true" stored="true" required="true" multiValued="false" /> <field name="orderBy" type="int" indexed="true" stored="true" required="true" multiValued="false" /> <field name="updatetime" type="date" indexed="true" stored="true" required="true" multiValued="false" />
注意:如果之前已经创建了索引,需要将之前的索引删掉,重新创建分词后的索引。
5. 在admin后台, analysis 下查看分词效果
1. 中文分词效果
2. 索引查询效果
6. 配置IKAnalyzer分词器的扩展词典,停止词词典
1. 将 文件夹下的IKAnalyzer.cfg.xml , ext.dic和stopword.dic 三个文件 复制到/webapps/solr/WEB-INF/classes 目录下,并修改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">ext.dic;</entry> <!--用户可以在这里配置自己的扩展停止词字典--> <entry key="ext_stopwords">stopword.dic;</entry> </properties>
2. 在ext.dic 里增加自己的扩展词典,例如,婴儿奶粉3段
注意: 记得将stopword.dic,ext.dic的编码方式为UTF-8 无BOM的编码方式。
相关推荐
总之,"elasticsearch-ik中文分词器7.6.2"是Elasticsearch处理中文数据的强大工具,通过灵活的配置和强大的分词能力,能够帮助用户构建高效、精准的中文搜索引擎。正确配置和使用IK分词器,对于提升Elasticsearch的...
"ik中文分词词库"是一个专为分词任务设计的资源,其中包含了至少20万个词汇,这样的规模确保了对常见词汇和术语的广泛覆盖。 分词,简单来说,就是将连续的汉字序列切分成具有语义意义的词汇单位。由于中文没有像...
总之,IK中文分词器是Elasticsearch处理中文数据的重要工具,通过合理的配置和维护,可以极大地提高中文数据的检索效率和准确性。在实际应用中,根据业务场景选择合适的分词模式,并结合自定义词典和扩展规则,可以...
### IK中文分词器原理详解 #### 一、概述 IK中文分词器是一种广泛应用于中文文本处理领域的高效工具,其核心功能在于能够精准地识别并切割中文文本中的词汇单元,进而为后续的信息检索、自然语言处理等工作提供基础...
以上配置后,当索引包含中文内容时,Elasticsearch会使用IK分词器进行分词,提高搜索和分析的准确度。 总的来说,Elasticsearch结合IK分词器,能有效解决中文处理的问题,提供强大的全文检索功能。在实际应用中,...
标题中的“ik中文分词器插件”指的是IK Analyzer,这是一个专门为中文处理设计的开源分词工具,广泛应用于搜索引擎、信息检索系统等场景。在Solr(一个强大的全文搜索服务器)7.0版本之后,虽然内建了基本的中文分词...
**Solr与IK中文分词器** Solr是一款开源的企业级全文搜索引擎,它提供了一个高效、灵活、可扩展的搜索平台。在处理中文文本时,由于中文的特殊性(词与词之间没有明显的分隔符),需要使用专门的分词器进行预处理,...
- 在 Elasticsearch 的配置文件 `elasticsearch.yml` 中设置分词器参数,例如设置默认的分析器为 IK 分词器。 - 测试分词器效果,可以通过 Elasticsearch 的 REST API 发送请求,查看分词结果。 总结,这个压缩包...
在使用IK中文分词器时,用户通常需要将"IK-Analyzer"压缩包解压,然后在相应的搜索引擎配置文件中引入IK的相关配置,如设置分词器类、词典路径等。通过这种方式,搜索引擎就能够使用IK进行中文文本的分词处理。 ...
**IK分词器详解** IK分词器是针对Elasticsearch(ES)的一款热门中文分词插件,其全称为...正确安装和配置IK分词器,可以显著提升Elasticsearch对中文文本的索引和搜索性能,从而更好地服务于各种信息检索和分析任务。
"IK中文分词工具"(Intelligent Chinese Word Segmentation,简称IK)就是专门为Solr设计的一款高效、可扩展的中文分词组件。它在Solr6.x版本中被广泛应用,提供了对中文文本的精确和灵活的分词能力。 首先,我们...
3. **config**: 这个文件夹可能包含了Ik分词器的配置文件,用户可以通过修改这些配置来调整分词器的行为,比如添加自定义词典,设置分词模式等。 4. **plugin-descriptor.properties**: 插件描述文件,包含插件的...
总结起来,Ik中文分词器6.3.0版是针对Solr6.3.0优化的专业中文分词工具,它提供了强大的分词能力、灵活的词库管理和多样的分词模式,是构建中文搜索应用的理想选择。配合压缩包内的配置文件,用户可以轻松实现Ik分词...
在处理中文文档时,为了实现精确的搜索和索引,我们需要使用适合中文的分词器。其中,IK (Intelligent Chinese) 分词器是一款专为 Elasticsearch 设计的高效、可扩展的中文分词组件。在 Elasticsearch 7.0.0 版本中...
Elasticsearch-analysis-ik 7.10.0 分词器是 Elasticsearch 在中文环境下的得力助手,它结合了 IK 分词器的强大功能和 Elasticsearch 的灵活性,为企业级搜索提供了坚实的基石。通过合理的配置和使用,可以显著提高...
Solr4.1 + IK中文分词是针对Apache Solr搜索引擎的一个重要组合,它使得在中文环境下进行全文检索和分析变得更加高效和精确。Apache Solr是一个开源的企业级搜索平台,基于Lucene库,提供了高性能、可扩展的全文索引...
在这个说明中,我们将详细讲解如何在Solr 6.0中配置ikanalyzer分词文件,以实现对中文文本的有效处理。 1. **ikanalyzer简介** ikanalyzer是一款专门为Java语言设计的开源中文分词库,它基于Apache Lucene项目,...
对于ES IK分词插件在中文检索中非常常用,本人也使用了挺...本文包括前言、IK分词介绍、分词效果对比、自定义词典使用、索引设置和字段设置(Python 创建索引并导入数据)、查询测试(Python 查询)、结论等七个部分。
总的来说,IK中文分词器资源包为开发者提供了强大的中文文本处理能力,通过高效且灵活的分词服务,有助于提升中文信息处理系统的性能和准确性。无论是在搜索引擎优化、文本分析,还是机器学习等领域,都是不可或缺的...
在中文处理方面,IK (Intelligent Chinese) 分词器是 Elasticsearch 的一个非常重要的插件,尤其对于中文文本的索引和搜索性能提升起到了关键作用。IK 分词器针对中文的特性进行了优化,能够有效地对中文文本进行...