您的位置:首页 > 房产 > 建筑 > 企业门户网站布局特征_公司网站创建_新闻稿代写平台_百度用户服务中心客服电话

企业门户网站布局特征_公司网站创建_新闻稿代写平台_百度用户服务中心客服电话

2024/12/22 21:33:41 来源:https://blog.csdn.net/u012263509/article/details/143380004  浏览:    关键词:企业门户网站布局特征_公司网站创建_新闻稿代写平台_百度用户服务中心客服电话
企业门户网站布局特征_公司网站创建_新闻稿代写平台_百度用户服务中心客服电话

索引管理

再讲索引(Index)前,我们先对照下 ElasticSearch Vs 关系型数据库:

请在此添加图片描述

PUT /customer/_doc/1
{"name": "DLBOY"
}

系统默认是自动创建索引的

如果我们需要对这个建立索引的过程做更多的控制:

比如想要确保这个索引有数量适中的主分片,并且在我们索引任何数据之前,分析器和映射已经被建立好。

那么我们需要做两件事:第一个禁止自动创建索引,第二个是手动创建索引

禁止自动创建索引

可以通过在 config/elasticsearch.yml 的每个节点下添加下面的配置

action.auto_create_index: false

创建索引

创建一个名称为test-index-users的索引(Index)

PUT /test-index-users

请在此添加图片描述

{"acknowledged" : true,"shards_acknowledged" : true,"index" : "test-index-users"
}

这是一个Elasticsearch索引创建的响应示例,包含了以下关键信息:

  • “acknowledged”: 这是一个布尔值,表示索引的创建是否得到了确认。如果为true,则表示索引成功创建。
  • “shards_acknowledged”: 这也是一个布尔值,表示索引中的分片是否得到了确认。如果为true,则表示所有分片成功创建。
  • “index”: 这是新创建索引的名称,名称为"test-index-users"。

这个响应表明,索引"test-index-users"已成功创建,并且所有分片也得到了确认。索引创建成功后,你可以向该索引中添加文档,执行搜索操作以及执行其他与索引相关的操作。索引是Elasticsearch中组织和存储数据的重要结构。

我们创建一个user 索引test-index-users,其中包含三个属性:name,age, remarks; 存储在一个分片一个副本上。

手动创建带有mapping关系的索引

创建索引test-index-users,其中包含三个属性:name,age, remarks; 存储在一个分片一个副本上。

## 先删除掉创建过的索引
DELETE /test-index-usersPUT /test-index-users 
{"settings":{"number_of_shards":1,"number_of_replicas":1},"mappings":{"properties":{"name":{"type":"text","fields":{"keyword":{"type":"keyword","ignore_above":256}}},"age":{"type":"long"},"remarks":{"type":"text"}}}
}

请在此添加图片描述

Elasticsearch索引的设置(settings)和映射(mappings)的示例。让我来解释其中的各个部分:

“settings”: 这是索引的设置部分,包含了索引的全局设置。
“number_of_shards”: 这是指定索引的主分片数量。在这个示例中,设置为1,表示索引有一个主分片。主分片用于存储索引的主要数据。
“number_of_replicas”: 这是指定索引的副本数量。在这个示例中,设置为1,表示为索引创建一个副本。副本用于提高数据的冗余性和可用性。
“mappings”: 这是索引的映射部分,定义了索引中文档的结构。
“properties”: 这是文档字段的定义部分。
“name”: 这是一个名为"name"的字段,具有以下属性:
“type”: 这是字段的数据类型,这里是"text"。text数据类型通常用于全文搜索,支持分词等功能。
“fields”: 这是一个嵌套的字段定义,包含了一个名为"keyword"的子字段。
“type”: 这是子字段的数据类型,这里是"keyword"。keyword数据类型通常用于精确匹配和排序,不进行分词。
“ignore_above”: 这是一个可选的参数,用于指定在索引前多少个字符之前,不进行分词处理。在这里,设置为256,表示只有前256个字符会被索引,超过这个长度的文本将被截断。
“age”: 这是一个名为"age"的字段,具有数据类型"type":“long”,表示一个长整数类型的字段。
“remarks”: 这是一个名为"remarks"的字段,具有数据类型"type":“text”,通常用于全文搜索。

这个示例的索引定义了一些基本设置,包括主分片和副本数量,以及文档结构,包括"name"字段,包括了一个子字段"keyword","age"字段和"remarks"字段。这种映射和设置允许索引文档,支持各种查询和分析操作。

插入数据

POST /test-index-users/_doc
{"name": "goboy test name","age": "101","remarks": "hello world"
}

POST在不标记ID的时候,系统会默认帮着我们创建一个ID

请在此添加图片描述

Elasticsearch文档的索引响应示例,包含了以下关键信息:

“_index”: 这是文档所属的索引的名称,这里是"test-index-users"。
“_type”: 这是文档的类型,在Elasticsearch 7.x版本之后,通常为"_doc",表示默认文档类型。
“_id”: 这是文档的唯一标识符,用于在索引中唯一标识文档。这里是"EV_giYsBWWxO5_dDBjwQ"。
“_version”: 这是文档的版本号,表示文档的版本。在这里,文档的版本号是1。
“result”: 这是文档索引操作的结果,这里是"created",表示文档已经成功创建。
“_shards”: 这是关于文档索引操作的分片信息。
“total”: 这是总分片数量,这里是2。
“successful”: 这是成功索引的分片数量,这里是1。这表示在2个分片中的1个成功索引。
“failed”: 这是失败的分片数量,这里是0。表示没有分片索引操作失败。
“_seq_no”: 这是文档的序列号,用于跟踪文档的变化。
“_primary_term”: 这是文档所在的主分片的主要期(primary term)。

这个响应表明文档成功地被索引到了"test-index-users"索引中,索引操作是成功的,只有一个分片成功地完成了索引操作。索引操作通常用于将文档添加到Elasticsearch索引中,以便后续搜索和检索。

查看数据

请在此添加图片描述

  • 测试(age)字段与设定的数据类型不匹配的情况
POST /test-index-users/_doc
{"name": "test user","age": "error_age","remarks": "hello eeee"
}
  • 提示错误

请在此添加图片描述

修改索引

查看索引状态

curl 'localhost:9200/_cat/indices?v' | grep users

这个命令是使用curl工具查询Elasticsearch中的索引,并使用grep筛选出包含"users"的索引。在Elasticsearch中,_cat/indices端点用于获取有关索引的信息,而| grep users则用于筛选包含"users"的行。

以下是示例命令的解释:

  • curl ‘localhost:9200/_cat/indices?v’: 这是一个curl命令,用于向Elasticsearch实例发出HTTP请求,从_cat/indices端点获取索引信息。-v参数用于显示详细信息。
  • |: 这是Linux/Unix中的管道操作符,用于将前一个命令的输出作为后一个命令的输入。
  • grep users: 这是grep命令,用于筛选包含"users"的行。

当你执行这个命令时,它会列出Elasticsearch中的索引信息,并筛选出包含"users"的索引。这对于检查包含特定关键词的索引非常有用,特别是在具有大量索引的Elasticsearch集群中。请确保你的Elasticsearch实例正常运行,并且能够通过localhost:9200地址访问。

请在此添加图片描述

注意刚创建的索引的状态是yellow的,因为我测试的环境是单点环境,无法创建副本,但是在上述number_of_replicas配置中设置了副本数是1; 所以在这个时候我们需要修改索引的配置。

修改副本数量为0

PUT /test-index-users/_settings
{"settings": {"number_of_replicas": 0}
}

请在此添加图片描述

再次查看状态

curl 'localhost:9200/_cat/indices?v'| grep users

请在此添加图片描述

打开/关闭索引

关闭索引

POST /test-index-users/_close

索引关闭操作将导致该索引不可用,文档无法查询,但数据仍然存在。

请在此添加图片描述

关闭以后再查询数据时

请在此添加图片描述

打开索引

POST /test-index-users/_open

请在此添加图片描述

打开后重新插入数据

POST /test-index-users/_doc
{"name": "goboy22222 test name","age": "1001","remarks": "hello world,hello world"
}

请在此添加图片描述

查看索引

mapping

GET /test-index-users/_mapping

请在此添加图片描述

settings

GET /test-index-users/_settings

请在此添加图片描述

关于Elasticsearch索引"test-index-users"的配置信息示例,其中包含了索引的设置(settings)的详细信息。让我为你解释这个信息的各个部分:

“test-index-users”: 这是索引的名称,指定了要配置的索引,名称为"test-index-users"。
“settings”: 这是索引的设置部分,包含了关于索引的配置信息。
“index”: 这是具体索引设置的部分,包括以下属性:
“creation_date”: 这是索引的创建日期,表示为一个时间戳(以毫秒为单位)。在这里,创建日期是"1698824838360"。
“number_of_shards”: 这是主分片的数量,指定为"1",表示该索引有一个主分片。
“number_of_replicas”: 这是副本的数量,指定为"0",表示该索引没有副本。
“uuid”: 这是索引的唯一标识符(UUID),用于唯一标识索引。UUID是"qqxlOmvpR7KQMS8CT345DA"。
“version”: 这是有关索引版本的信息,包括索引的创建版本等。
“provided_name”: 这是索引的提供名称,与索引的名称相同,为"test-index-users"。

这个信息提供了关于"test-index-users"索引的详细配置信息,包括创建日期、分片数量、副本数量、UUID等。这些配置属性对于管理和维护索引非常重要,可以影响索引的性能和行为。

删除索引

将创建的test-index-users删除。

DELETE /test-index-users

Kibana管理索引

在Kibana可以查看和管理索引

请在此添加图片描述

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com