Elasticsearch - 索引 API
这些 API 负责管理索引的所有方面,如设置、别名、映射、索引模板。
创建索引
此 API 可帮助您创建索引。当用户将 JSON 对象传递给任何索引时,可以自动创建索引,也可以在此之前创建索引。要创建索引,您只需发送带有设置、映射和别名的 PUT 请求,或者只是发送没有正文的简单请求。
PUT colleges
运行上述代码后,我们得到如下所示的输出 −
{ "acknowledged" : true, "shards_acknowledged" : true, "index" : "colleges" }
我们还可以在上面的命令中添加一些设置 −
PUT colleges { "settings" : { "index" : { "number_of_shards" : 3, "number_of_replicas" : 2 } } }
运行上述代码后,我们得到如下所示的输出 −
{ "acknowledged" : true, "shards_acknowledged" : true, "index" : "colleges" }
Delete Index(删除索引)
此 API 可帮助您删除任何索引。您只需传递一个带有该特定索引名称的删除请求即可。
DELETE /colleges
您只需使用 _all 或 * 即可删除所有索引。
Get Index(获取索引)
只需向一个或多个索引发送获取请求即可调用此 API。这将返回有关索引的信息。
GET colleges
运行上述代码后,我们得到如下所示的输出 −
{ "colleges" : { "aliases" : { "alias_1" : { }, "alias_2" : { "filter" : { "term" : { "user" : "pkay" } }, "index_routing" : "pkay", "search_routing" : "pkay" } }, "mappings" : { }, "settings" : { "index" : { "creation_date" : "1556245406616", "number_of_shards" : "1", "number_of_replicas" : "1", "uuid" : "3ExJbdl2R1qDLssIkwDAug", "version" : { "created" : "7000099" }, "provided_name" : "colleges" } } } }
您可以使用 _all 或 * 获取所有索引的信息。
Index Exist(索引存在)
只需向该索引发送 get 请求即可确定索引是否存在。如果 HTTP 响应为 200,则存在;如果为 404,则不存在。
HEAD colleges
运行上述代码后,我们得到如下所示的输出 −
200-OK
Index Settings(索引设置)
只需在 URL 末尾附加 _settings 关键字即可获取索引设置。
GET /colleges/_settings
运行上述代码后,我们得到如下所示的输出 −
{ "colleges" : { "settings" : { "index" : { "creation_date" : "1556245406616", "number_of_shards" : "1", "number_of_replicas" : "1", "uuid" : "3ExJbdl2R1qDLssIkwDAug", "version" : { "created" : "7000099" }, "provided_name" : "colleges" } } } }
Index Stats(索引统计)
此 API 可帮助您提取有关特定索引的统计信息。您只需发送一个 get 请求,并在末尾添加索引 URL 和 _stats 关键字即可。
GET /_stats
运行上述代码后,我们得到如下所示的输出−
……………………………………………… }, "request_cache" : { "memory_size_in_bytes" : 849, "evictions" : 0, "hit_count" : 1171, "miss_count" : 4 }, "recovery" : { "current_as_source" : 0, "current_as_target" : 0, "throttle_time_in_millis" : 0 } } ………………………………………………
Flush
索引的刷新过程可确保当前仅保留在事务日志中的任何数据也永久保留在 Lucene 中。这减少了恢复时间,因为在打开 Lucene 索引后,无需从事务日志中重新索引该数据。
POST colleges/_flush
运行上述代码后,我们得到如下所示的输出−
{ "_shards" : { "total" : 2, "successful" : 1, "failed" : 0 } }