`
qindongliang1922
  • 浏览: 2170969 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
7265517b-f87e-3137-b62c-5c6e30e26109
证道Lucene4
浏览量:117074
097be4a0-491e-39c0-89ff-3456fadf8262
证道Hadoop
浏览量:125419
41c37529-f6d8-32e4-8563-3b42b2712a50
证道shell编程
浏览量:59487
43832365-bc15-3f5d-b3cd-c9161722a70c
ELK修真
浏览量:71014
社区版块
存档分类
最新评论

ElasticSearch中分词器组件配置详解

    博客分类:
  • ELK
阅读更多
首先要明确一点,ElasticSearch是基于Lucene的,它的很多基础性组件,都是由Apache Lucene提供的,而es则提供了更高层次的封装以及分布式方面的增强与扩展。

所以要想熟练的掌握的关于es中分词方面的知识,一定得先从Lucene抓起,否则只会是丈二和尚摸不着头脑,当然我们大多数开发者只关注于怎么用,偏底层的东东,也没有太多时间去深究,这也有情可原,遇到问题再去探究,也何尝不是一种办法,如果有时间,还是建议看看Lucene基础的知识。

在ElasticSearch或Solr中,都提供了基于配置的可插拔式的分词插件,管理方式,这样以来就组合配置方式就非常灵活,在es中,一个analysis集合
可以包含多个analyzer,而一个analyzer则由一个单个的tokenizer,零个或多个的tokenfilter组成,而一个tokenizer又可以包含零个或多个的charFilter。总体的执行流程如下图:





在es里面的一个模板配置如下:

index :
    analysis ://一个analysis可以包含多个analyzer,tokenizer,filter,char_filter配置
        analyzer :// 一个analyzer下面可以包含一个tokenizer,多个filter和char_filter, position_increment_gap是距离查询时,最大允许查询的距离,默认是100
          myAnalyzer1 :
                type : custom
                tokenizer : myTokenizer1
                filter : [myTokenFilter1, myTokenFilter2]
                char_filter : [my_html]
                position_increment_gap: 256
           myAnalyzer2 :
                type : custom
                tokenizer : myTokenizer1
                filter : [myTokenFilter1, myTokenFilter2]
                char_filter : [my_html]
                position_increment_gap: 256

        tokenizer :
            myTokenizer1 :
                type : standard
                max_token_length : 900
            myTokenizer2 :
                type : keyword
                max_token_length : 900
        filter :
            myTokenFilter1 :
                type : stop
                stopwords : [stop1, stop2, stop3, stop4]
            myTokenFilter2 :
                type : length
                min : 0
                max : 2000
        char_filter :
              my_html :
                type : html_strip
                escaped_tags : [xxx, yyy]
                read_ahead : 1024



一个比较完整的分词器配置案例,就如上面的例子,几乎涵盖了所有可能用到的组件,而我们在实际应用中,要做的就是,选择组合我们需要的组件,定制成一个分词器,然后就可以使用了,
上面的这段配置,我们需要配置在elasticsearch.yml文件中,全局有效,然后我们就可以在静态mapping或动态mapping中引用和使用它了。
参考链接:
https://www.elastic.co/guide/en/elasticsearch/reference/2.1/analysis-custom-analyzer.html



最后欢迎大家扫码关注微信公众号:我是攻城师(woshigcs),我们一起学习,进步和交流!(woshigcs)
本公众号的内容是有关搜索和大数据技术和互联网等方面内容的分享,也是一个温馨的技术互动交流的小家园,有什么问题随时都可以留言,欢迎大家来访!




  • 大小: 33.9 KB
2
0
分享到:
评论

相关推荐

    es5.3.2使用热词、停用词、同义词词典.rar

    本资源包“es5.3.2使用热词、停用词、同义词词典.rar”提供了针对Elasticsearch 5.3.2版本的热词、停用词和同义词的相关工具和配置,帮助用户优化全文搜索引擎的表现。 首先,我们来理解一下这些概念: 1. **热词*...

    elasticsearch安装配置详解及常见错误解决办法

    Elasticsearch 安装配置详解及常见错误解决办法 Elasticsearch 是一个基于 Lucene 库的搜索引擎,提供了强大的全文搜索功能。本文将详细介绍 Elasticsearch 的安装配置过程,以及常见错误的解决办法。 一、Elastic...

    ElasticSearch 重写IK分词器源码设置mysql热词更新词库1

    在本文中,我们将探讨如何利用Elasticsearch的IK分词器并对其进行源码改造,以实现热词库的动态更新,特别是通过MySQL数据库进行热词和停用词的定时更新。首先,我们要了解IK分词器的几种常用词库配置方式。 **0. ...

    elasticsearch-analysis-ik 7.10.0 分词器

    **Elasticsearch Analysis IK 7.10.0 分词器详解** Elasticsearch 分词器是搜索引擎核心组件之一,负责将输入的文本拆分成可搜索的独立单元——词语。在中文环境中,这个过程尤为重要,因为中文句子由多个汉字组成...

    es 同义词 热更新 1.1版本

    标题中的“es 同义词 热更新 1.1版本”指的是Elasticsearch(简称ES)在1.1版本中对同义词功能进行了热更新的支持。Elasticsearch是一个分布式、RESTful风格的搜索和数据分析引擎,常用于全文检索、结构化搜索以及...

    elasticsearch 停词 demo

    在搜索引擎和数据分析领域,Elasticsearch (ES) 是一个广泛使用的开源全文检索和分析引擎。它允许用户快速地存储、搜索和分析大量数据。在处理自然语言文本时,"停词"是一个重要的概念,用于提高搜索效率和结果的...

    ES同义词插件 analysis-dynamic-synonym7.5.1版本

    在本话题中,我们将聚焦于“ES同义词插件analysis-dynamic-synonym7.5.1版本”,它是Elasticsearch中一个增强搜索功能的重要组件。 Elasticsearch同义词插件的作用在于扩展默认的文本分析过程,允许我们在搜索时将...

    es配置详解.txt

    es配置详解.txtes配置详解.txtes配置详解.txtes配置详解.txt

    ElasticSearch基于Mysql热更新IK词典项目

    1. 安装IK分词器:下载并安装`elasticsearch-analysis-ik-8.1.0`,配置ES的`plugins`目录。 2. 配置分词器:在ES的`analysis`配置中指定使用IK分词器,并设置词典更新的相关参数。 3. 创建MySQL连接:在ES中配置...

    Elasticsearch组件elasticsearch-head-master

    **Elasticsearch组件elasticsearch-head-master详解** Elasticsearch-head是一个非常实用的Elasticsearch管理工具,它提供了直观的Web界面,便于用户查看、管理和操作Elasticsearch集群。elasticsearch-head-master...

    谷歌浏览器elasticsearch查询数据扩展组件

    **谷歌浏览器Elasticsearch查询数据扩展组件** 这个扩展组件是为谷歌浏览器(Google Chrome)设计的,目的是方便用户直接在浏览器中对Elasticsearch实例进行数据查询和管理,而无需通过复杂的命令行或专门的客户端...

    IK分词器elasticsearch-analysis-ik-7.17.16

    5. **elasticsearch-analysis-ik-7.17.16.jar**:IK分词器的主程序包,包含了所有必需的分词逻辑和配置。 6. **plugin-security.policy**:插件的安全策略文件,用于定义插件可以执行的操作,以确保安全性。 7. **...

    elasticsearch7.17.11版本分词器插件安装包

    **Elasticsearch 7.17.11 分词器插件详解** Elasticsearch(简称ES)是一款基于Lucene的分布式、RESTful搜索引擎,广泛应用于日志收集、数据分析等领域,是ELK(Elasticsearch、Logstash、Kibana)堆栈的重要组成...

    elasticsearch-analysis-pinyin-7.4.0 es拼音分词器7.4.0

    在配置方面,开发者需要在Elasticsearch的配置文件`elasticsearch.yml`中添加相应的设置,指定使用pinyin分词器。同时,可以通过`plugin-descriptor.properties`文件了解插件的详细信息,包括版本、作者等。此外,...

    ELASTICSEARCH 6.4.1 分词组件

    **Elasticsearch 6.4.1 分词组件详解** Elasticsearch(ES)是一款流行的开源全文搜索引擎,广泛应用于大数据分析、日志收集、实时搜索等领域。在处理中文文本时,分词是至关重要的一步,它能够将连续的文本切割成...

    elasticsearch7.17.13版本分词器插件安装包

    《Elasticsearch 7.17.13 分词器插件安装详解》 在大数据时代,搜索引擎的高效精准检索成为关键。Elasticsearch(ES)作为一款强大的开源搜索引擎,广泛应用于日志收集、数据分析等领域。为了提升中文文本处理的...

    Elasticsearch7.17.5版本同义词热更新插件源码

    在Elasticsearch中,同义词过滤器(Synonym Filter)是一个关键组件,它允许我们定义一组同义词,并在索引文档或执行搜索时将它们视为等效词。 然而,传统的同义词配置一旦被索引,就无法在运行时进行更改。这限制...

    elasticsearch7.17.8版本分词器插件安装包

    **Elasticsearch 7.17.8 分词器插件安装详解** Elasticsearch(ES)是一款流行的开源全文搜索引擎,常用于日志收集、数据分析和实时搜索等场景。在处理中文文本时,分词器插件是必不可少的组件,它能够将中文字符串...

    elasticSearch(ES)最新版 ik分词插件7.10 elasticsearch-analysis-ik-7.10.0

    Elasticsearch(ES)是一种流行的开源全文搜索引擎,它基于Lucene构建,提供了分布式、RESTful风格的搜索和分析引擎服务。在中文环境下,为了实现精确的分词和搜索,我们需要安装适合版本的分词插件,如“elastic...

    elasticsearch7.17.10版本分词器插件安装包

    **Elasticsearch 7.17.10 分词器插件安装详解** 在日志收集和数据分析领域,Elasticsearch(简称ES)扮演着重要的角色。作为一个强大的全文搜索引擎,Elasticsearch允许用户通过简单的API进行数据索引、搜索、分析...

Global site tag (gtag.js) - Google Analytics