为了账号安全,请及时绑定邮箱和手机立即绑定

Elastic Stack从入门到实践之倒排索引与分词

标签:
PHP Java

ES的优势

图片描述

  • 相比Hadoop,开发周期可以缩短四倍左右
  • 性能好,查询快,实时展示结果,拒绝T+1(隔一天储数据)
  • 扩容方便

图片描述

知识点

图片描述

常见术语

  • 文档 Document(用户存储在es中的数据文档)
  • 索引Index(由具有相同字段的文档列表组成)
  • 节点Node(一个ES的运行实例,是集群的构成单元)
  • 集群Cluster(由一个或多个节点组成,对外提供服务)

    Document

    图片描述
    图片描述

    Document MetaData

    图片描述

    Index

    图片描述

    Rest API

    图片描述

    索引API

    图片描述
    图片描述

    Document API

    图片描述

    $ ./elasticsearch.bat -Ecluster.routing.allocation.disk.threshold_enabled=false -Epath.data=hanxiao
    ./kibana.bat
    然后,我们访问
    http://localhost:9200/
    127.0.0.1:5601
    搜索引擎

    图片描述

    正排索引(后,返回全部内容)

    文档ID到文档内容,单词的关联关系

    倒排索引(先)

    单词到文档Id的关联关系,也就是先分词,通过单词查找ID
    es存储的是一个json格式的文档,其中包含多个字段,每个字段都有自己的倒排索引

  • 单词词典(Term Dictionary)
    • 记录所有文档单词(容量大),记录单词到倒排列表的关联信息
      图片描述
  • 倒排列表 (Posting List)
    图片描述
    图片描述
    图片描述

分词

图片描述

Analyze API

图片描述

预定义的分词器

图片描述

中文分词

图片描述

自定义分词之CharacterFilter

图片描述

自定义分词之Tokenizer

图片描述

点击查看更多内容
2人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消