前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Elasticsearch 基本概念- Index

Elasticsearch 基本概念- Index

原创
作者头像
堕落飞鸟
发布2023-05-08 10:17:38
3670
发布2023-05-08 10:17:38
举报
文章被收录于专栏:飞鸟的专栏飞鸟的专栏

Elasticsearch是一个基于Lucene的全文搜索引擎,它具有分布式、高可用、实时的特性。在Elasticsearch中,Index是一个基本概念,它是一个包含文档的逻辑数据集合。

Index的基本概念

Index是Elasticsearch中最基本的概念之一,可以看做是一个数据库中的表。每个Index由一组文档组成,每个文档都有一个唯一的ID。Index中的文档可以被搜索、聚合、过滤和排序。

在Elasticsearch中,Index是不可变的,即一旦创建就不能更改。当需要修改文档时,会创建一个新的版本,并将旧版本标记为已删除。这样做可以确保文档的可追溯性和一致性。

创建Index

创建Index需要使用PUT API,具体语法如下:

代码语言:javascript
复制
PUT /<index>

其中,<index>是Index的名称。

以下是创建名为my_index的Index的示例:

代码语言:javascript
复制
PUT /my_index

可以通过GET API来验证Index是否创建成功:

代码语言:javascript
复制
GET /my_index

如果Index已经存在,则会返回Index的元数据,否则会返回404状态码。

添加文档

添加文档需要使用Index API,具体语法如下:

代码语言:javascript
复制
POST /<index>/_doc
{
  "field1": "value1",
  "field2": "value2",
  ...
}

其中,<index>是Index的名称。文档的内容以JSON格式表示,可以包含多个字段。每个字段都有一个名称和一个值。

以下是添加一个名为my_doc的文档到my_index的示例:

代码语言:javascript
复制
POST /my_index/_doc
{
  "title": "Elasticsearch基本概念",
  "content": "Elasticsearch是一个基于Lucene的全文搜索引擎,它具有分布式、高可用、实时的特性。",
  "author": "张三",
  "publish_time": "2022-05-08"
}

在添加文档时,Elasticsearch会自动为文档生成一个唯一的ID。可以通过GET API来查看文档的内容:

代码语言:javascript
复制
GET /my_index/_doc/<id>

其中,<id>是文档的ID。

查询文档

查询文档需要使用Search API,具体语法如下:

代码语言:javascript
复制
POST /<index>/_search
{
  "query": {
    ...
  },
  "sort": [
    ...
  ],
  "size": ...,
  "from": ...
}

其中,<index>是Index的名称。query字段指定了查询条件,sort字段指定了排序规则,size字段指定了返回结果的文档数目,from字段指定了返回结果的起始位置。

以下是查询my_index中所有文档的示例:

代码语言:javascript
复制
POST /my_index/_search
{
  "query": {
    "match_all": {}
  },
  "sort": [
    {"publish_time": "desc"}
  ],
  "size": 10,
  "from": 0
}

这个查询会返回my_index中所有文档,按照publish_time字段倒序排序,返回10个文档,从第一个文档开始。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Index的基本概念
  • 创建Index
  • 添加文档
  • 查询文档
相关产品与服务
Elasticsearch Service
腾讯云 Elasticsearch Service(ES)是云端全托管海量数据检索分析服务,拥有高性能自研内核,集成X-Pack。ES 支持通过自治索引、存算分离、集群巡检等特性轻松管理集群,也支持免运维、自动弹性、按需使用的 Serverless 模式。使用 ES 您可以高效构建信息检索、日志分析、运维监控等服务,它独特的向量检索还可助您构建基于语义、图像的AI深度应用。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com