elasticsearch核心知识--34.搜索引擎_分析器的内部组成到底是什么,以及内置分词器的介绍

一、概念介绍

    全文搜索引擎会用某种算法对要建索引的文档进行分析, 从文档中提取出若干Token(词元), 这些算法称为Tokenizer(分词器), 这些Token会被进一步处理, 进行normalization时态转化,转成小写等, 这些处理算法被称为Token Filter(词元处理器), 被处理后的结果被称为Term(词), 文档中包含了几个这样的Term被称为Frequency(词频)引擎会建立Term和原文档的Inverted Index(倒排索引), 这样就能根据Term很快到找到源文档了。 文本被Tokenizer处理前可能要做一些预处理, 比如去掉里面的HTML标记, 这些处理的算法被称为Character Filter(字符过滤器), 这整个的分析算法被称为Analyzer(分析器)

总结:采用xmind画了一个图


二、ES中的分词器

       从第一部分内容可以看出:Analyzer(分析器)由Tokenizer(分词器)和Filter(过滤器)组成。

***以ecommerce索引里的producer的分析器来存储"jiajieshi producer mmy"这个内容 查看底层如何存储

GET /ecommerce/_analyze?field=producer
{
  "text": "jiajieshi producer mmy"

}

#查看索引ecommerce的mappings

GET /ecommerce/_mappings?pretty



以ecommerce索引里es的内置分析器standard来存储"jiajieshi producer mmy"这个内容 查看底层如何存储
GET /ecommerce/_analyze?analyzer=standard
{
  "text": "jiajieshi producer mmy"
}

###以默认的whitespace分词器来分词
GET /ecommerce/_analyze?analyzer=whitespace
{
  "text": "我是中国人"
}

       1、ES内置分析器              

standard analyzer standard standard tokenizer, standard filter, lower case filter, stop filter(默认的分词器)
simple analyzer simple lower case tokenizer
stop analyzer stop lower case tokenizer, stop filter
keyword analyzer keyword 不分词,内容整体作为一个token(not_analyzed)
pattern analyzer
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值