zoukankan      html  css  js  c++  java
  • Elasticsearch之索引的不同含义

     

    一、Elasticsearch与关系数据库的相关术语的对应关系

     
    Elasticsearch集群可以包含多个索引(indices)(数据库),每一个索引可以包含多个类型(types)(表),每一个类型可以包含多个文档(document)(行),每个文档包含多个字段(Filelds)(列)。
     
     

    二、索引

    常常因为索引傻傻分不清楚,索引在ES中有三层不同的含义。
     
    1)index(名词)
     
    一个索引就像是传统的关系数据库中的数据库,他是相关文档存储的地方,index的复数是indices或indexes。
     
    查看Elasticsearch中所有的索引(所有的库)
     
     
    2)index(动词)
     
    索引一个文档,表示将一个文档存储到索引里(名词),以便他可以被检索和查询,跟sql语句中的insert一样,但是在ES中,如果文档已经存在,新的文档将会把就的文档覆盖。 
     
    PUT /megacorp/employee/1 
    { 
        "first_name" : "John", 
        "last_name" : "Smith", 
        "age" : 25, 
        "about" : "I love to go rock climbing", 
        "interests": [ "sports", "music" ] 
    }
    
    # /index_name/type_name/document_id
    # /库名/表名/id
     
    3)倒排索引(数据结构,算法)
     
    在传统数据库中给某一个特定的列增加一个索引,如B-Tree索引来加速检索。Elasticsearch和Lucene使用一种叫做倒序索引(inverted index)的数据结构来达到相同的目的。默认情况下,文档中的所有字段都会被索引(拥有一个倒排索引),只有这样他们才是可被搜索的。
     
  • 相关阅读:
    Tomcat完美配置多个HOST主机,域名,SSL
    SpringCloud(10)使用Spring Cloud OAuth2和JWT保护微服务
    SpringCloud(9)使用Spring Cloud OAuth2保护微服务系统
    SpringCloud(8)微服务监控Spring Boot Admin
    React介绍
    SpringMVC-拦截器
    VSCode + WSL 2 + Ruby环境搭建详解
    Python中排序的灵活使用
    Linux中的进程与线程
    PHP-Phalcon框架中的数据库操作
  • 原文地址:https://www.cnblogs.com/lemon-le/p/12750388.html
Copyright © 2011-2022 走看看