手记

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

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人推荐
随时随地看视频
慕课网APP