ElasticSearch之倒排索引

本章要点:倒排索引等

  1. 倒排索引

    • es中的一种索引结构,适用于快速的全文索引。一个倒排索引由文档中所有不重复词的列表构成,对于其中每个分词,有一个包含它的文档列表。

      • 如有一个这样的文档集合:

        文档编号 文档内容
        1 谷歌地图之父跳槽FaceBook
        2 谷歌地图之父加盟FaceBook
        3 谷歌地图创始人拉斯离开谷歌加盟FaceBook
        4 谷歌之父跳槽FaceBook与Wave项目取消有关
        5 谷歌地图之父拉斯加盟社交网站FaceBook
      • 简单的倒排索引。(中文和英文等语言不同,单词之间没明确的分隔符,所以要先用分词系统将文档切分成单词序列)其中DocID为文档ID

        单词ID 单词 倒排列表(DocID)
        1 谷歌 1,2,3,4,5
        2 地图 1,2,3,4,5
        3 之父 1,2,4,5
        4 跳槽 1,4
        5 FaceBook 1,2,3,4,5
        6 加盟 2,3,5
        7 创始人 3
        8 拉斯 3,5
        9 离开 3
        10 4
        11 Wave 4
        12 项目 4
        13 取消 4
        14 有关 4
        15 社交 5
        16 网站 5
      • 上图的第三栏除了可记录文档的id(DocID)外还可以记录单词出现的频率信息(TF),如(1;1),(2:1),还可以记录文档的位置信息,如(1,<11>,1),(2,<7>,1)

    • 多用户能力的分布式全文搜索引擎

    • 基于resetful web接口

    • java开发的

    • 海量的数据,支持pb级别

    • 实时、高扩展、可靠、稳定

    • 以文档格式存储

  2. 一些基本概念

    • index:类似数据库中的database
    • type:相当数据库中的表
    • document(文档):一条数据对应一篇文档,相当于数据库中的一行row。一个文档可以有多个字段(field),mapping来描述数据类型.
    • Query DSL:类似mysql的sql语句,只不过在es中使用的josn格式的查询语句
  3. restful web接口

    • GET/POST/PUT/DELETE (查询/新增或更新/更新/删除)
  4. curl基本命令

打赏
  • 版权声明: 本博客所有文章除特别声明外,均采用 Apache License 2.0 许可协议。转载请注明出处!
  • © 2015-2020 谭家俊
  • Powered by Hexo Theme Ayer
  • PV: UV:

请我喝杯咖啡吧~

微信