ElasticSearch - 自定义分析器

ElasticSearch的分析器由字符过滤器、分词器和Token过滤器组成,允许用户自定义以满足特定需求。分析器在索引时处理文本并创建倒排索引,而在查询时对输入进行分词。可以通过指定`analyzer`和`search_analyzer`参数来控制索引和查询时的分词行为,实现不同场景下的精确匹配。
摘要由CSDN通过智能技术生成

ElasticSearch的分析器实际上是将三个功能封装在一起,这三个功能按照顺序执行,而这三个功能都是能自定义的

字符过滤器 (char_filter)

首先,字符串按顺序通过每个字符过滤器,他们的任务是在分词前整理字符串

一个字符过滤器可以用来去掉HTML,或者将&转化成and

分词器 (tokenizer)

其次,字符串被分词器分爲单个的词条,一个简单的分词器遇到空格和标点的时候,可能会将文本拆分成词条

Hello how are you?会被ES预设的分词器standard分成hello、how、are、you

Token 过滤器 (filter)

最后,词条按顺序通过每个 token 过滤器,这个过程可能会改变词条(Quick -> quick)、删除词条(a、an、and、the...)、增加词条(jump和leap这种同义词)

自定义分析器

格式

PUT 127.0.0.1:9200/mytest
{
    "setting": {
        "analysis": {
            "char_filter": { 自定义的字符过滤器 },
            "tokenizer": { 自定义的分词器 },
            "filter": { 自定义的token过滤器 },
            "analyzer": { 自定义的分析器,可以将上面的char_filter、tokenizer、filter用不同的组合拼起来,形成不同的分析器 }
        }
    }
}

                
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值