Elasticsearch上手——几个基本概念

本文涉及的产品
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
简介: Elasticsearch的说明文档中,基本概念(Basic Concepts)一节中提到了一些术语,结合实践经验,尝试重新理解一下。Document(文档)文档是Elasticsearch存储和建立索引的基本单位,比如一篇文章、一条数据库记录等,通过JSON格式被添加到平台。

Elasticsearch的说明文档中,基本概念(Basic Concepts)一节中提到了一些术语,结合实践经验,尝试重新理解一下。

Document(文档)

文档是Elasticsearch存储和建立索引的基本单位,比如一篇文章、一条数据库记录等,通过JSON格式被添加到平台。下面就是一个文档:

{
    "user" : "kimchy",
    "post_date" : "2009-11-15T14:12:12",
    "message" : "trying out Elasticsearch"
}

上面的文档包含了三个字段:user、post_date和message

Type(类型)

我将其理解为文档的类型,如果非要对应到数据库的概念上,那就是相当于MySQL的表结构或者MongoDB的Collection。至于如何定义,完全取决于要实现的业务逻辑。下面一个type是关于上面文档的定义:

"message": { 
    "properties": { 
        "user":         { "type": "text" }, 
        "post_date":    { "type": "date" }, 
        "message":      { "type": "text" }  
    }
}

定义了一个叫做message的type,包含了三个字段,user、post_date和message,字段类型分别为text、date和text。字段类型对创建索引的方式以及可支持的搜索有重要的意义,这里不做进一步解释。

Index(索引)

Index是一系列文档的集合,在开始使用之前必须创建一个确定名称的index,一个index下面可以包含多个type。在索引文档、搜索、更新、删除时都需要指定索引的名称,并且index的名称必须为小写字母。
可以将其简单理解一个数据库,比如一个复杂的电商系统,可以包含多个index,product_index负责产品库,order_index负责订单库等。创建一个包含了type的index例子:

PUT blog_index 
{
  "mappings": {
    "user": { 
      "properties": { 
        "title":    { "type": "text"  }, 
        "name":     { "type": "text"  }, 
        "age":      { "type": "integer" }  
      }
    },
    "blogpost": { 
      "properties": { 
        "title":    { "type": "text"  }, 
        "body":     { "type": "text"  }, 
        "user_id":  {
          "type":   "keyword" 
        },
        "created":  {
          "type":   "date", 
          "format": "strict_date_optional_time||epoch_millis"
        }
      }
    }
  }
}

PUT blog_index 是创建index的命令,blog_index就是index的名字。

上面的例子创建了一个名为blog_index的index,包含了两个type,分别为user和blogpost。

相关实践学习
使用阿里云Elasticsearch体验信息检索加速
通过创建登录阿里云Elasticsearch集群,使用DataWorks将MySQL数据同步至Elasticsearch,体验多条件检索效果,简单展示数据同步和信息检索加速的过程和操作。
ElasticSearch 入门精讲
ElasticSearch是一个开源的、基于Lucene的、分布式、高扩展、高实时的搜索与数据分析引擎。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr(也是基于Lucene)。 ElasticSearch的实现原理主要分为以下几个步骤: 用户将数据提交到Elastic Search 数据库中 通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据 当用户搜索数据时候,再根据权重将结果排名、打分 将返回结果呈现给用户 Elasticsearch可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
目录
相关文章
|
2月前
|
存储 分布式计算 大数据
大数据-169 Elasticsearch 索引使用 与 架构概念 增删改查
大数据-169 Elasticsearch 索引使用 与 架构概念 增删改查
68 3
|
1月前
|
测试技术 API 开发工具
ElasticSearch核心概念:倒排索引
ElasticSearch核心概念:倒排索引
56 6
|
2月前
|
JSON 关系型数据库 API
ElasticSearch 的概念解析与使用方式(二)
ElasticSearch 的概念解析与使用方式(二)
35 1
|
2月前
|
存储 搜索推荐 Java
ElasticSearch 的概念解析与使用方式(一)
ElasticSearch 的概念解析与使用方式(一)
74 1
|
4月前
|
存储 运维 搜索推荐
运维开发.索引引擎ElasticSearch.倒序索引的概念
运维开发.索引引擎ElasticSearch.倒序索引的概念
56 1
|
6月前
|
存储 搜索推荐 关系型数据库
【搜索引擎】elastic search核心概念
【搜索引擎】elastic search核心概念
57 0
|
存储 机器学习/深度学习 负载均衡
【Elasticsearch】学好Elasticsearch系列-核心概念
【Elasticsearch】学好Elasticsearch系列-核心概念
106 0
|
存储 监控 搜索推荐
ElasticSearch第二讲:ES详解 - ElasticSearch基础概念
ElasticSearch第二讲:ES详解 - ElasticSearch基础概念
247 0
|
存储 SQL 自然语言处理
|
存储 自然语言处理 搜索推荐
ElasticSearch的基本介绍与用途、ElasticSearch中一些基本的概念、倒排索引的基本概念
ElasticSearch的基本介绍与用途、ElasticSearch中一些基本的概念、倒排索引的基本概念
139 1