es倒排索引

1 倒排索引

   正排索引:文档id到单词的关联关系。

   倒排索引:单词到文档id的关联关系。

2 倒排索引组成

   单词词典(Term Dictionary)

   倒排列表(Posting List)

3 单词词典(Term Dictionary)

   单词词典的实现一般用B+树。

4 倒排列表(Posting List)

   倒排列表记录了单词对应的文档集合,有倒排索引项(Posting)组成。

   倒排索引项主要包含如下信息:

         1.文档id用于获取原始信息

         2.单词频率(TF,Term Frequency),记录该单词在该文档中出现的次数,用于后续相关性算分。

         3.位置(posting),记录单词在文档中的分词位置(多个),用于作词语搜索(Phrase Query)

         4.偏移(Offset),记录单词在文档的开始和结束为止,用于高亮显示。?

5 es存储的是一个json格式的文档,其中包含多个字段,每个字段会有自己的倒排索引。

6 分词

   分词是将文本转换成一系列单词,(Term or Token)的过程,也可以叫文本分析,在ES里面称为Analysis。

 

7 分词器是ES中专门处理分词的组件,英文为Analyzer,它的组成如下:

Character Filters :针对原始文本进行处理,比如去除html标签。

Tokenizer:将原始文本进行处理,比如去除html标签。

Token Filters:针对Tokenizer处理的单词进行再加工,比如转小写/删除或增新等处理

8 分词调用顺序

Analyze API

Es提供了一个可以测试分词的api接口,方便测试分词效果,endpoint是_analyze

可以直接指定analyzer进行测试。

       1.可以直接指定索引中的字段进行测试。

       2.可以自定义分词器进行测试。

预定义的分词器。

    es自带的分词器有如下:

           Standard Analyzer

                 ·默认分词器

                 ·按词切分,支持多语言

                 ·小写处理

           Simple Analyzer

                 ·按照非字母切分。

                 ·小写处理。

 

 

 

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值