Эти API отвечают за управление всеми аспектами индекса, такими как настройки, псевдонимы, сопоставления, шаблоны индексов.
Создать индекс
Этот API поможет вам создать индекс. Индекс может быть создан автоматически, когда пользователь передает объекты JSON в любой индекс, или он может быть создан до этого. Чтобы создать индекс, вам просто нужно отправить запрос на публикацию с настройками, отображениями и псевдонимами или просто запрос без тела. Например,
POST http://localhost:9200/colleges
отклик
{"acknowledged":true}
Или с некоторыми настройками —
POST http://localhost:9200/colleges
Тело запроса
{ "settings" : { "index" : { "number_of_shards" : 5, "number_of_replicas" : 3 } } }
отклик
{"acknowledged":true}
Или с отображением —
POST http://localhost:9200/colleges
Тело запроса
{ "settings" : { "number_of_shards" : 3 }, "mappings" : { "type1" : { "_source" : { "enabled" : false }, "properties" : { "college_name" : { "type" : "string" }, "college type" : {"type":"string"} } } } }
отклик
{"acknowledged":true}
Или с псевдонимом —
POST http://localhost:9200/colleges
Тело запроса
{ "aliases" : { "alias_1" : {}, "alias_2" : { "filter" : { "term" : {"user" : "manu" } }, "routing" : "manu" } } }
отклик
{"acknowledged":true}
Удалить индекс
Этот API поможет вам удалить любой индекс. Вам просто нужно передать запрос на удаление с URL этого конкретного индекса. Например,
DELETE http://localhost:9200/colleges
Вы можете удалить все индексы, используя _all, *.
Получить индекс
Этот API можно вызвать, просто отправив запрос get на один или несколько индексов. Это возвращает информацию об индексе.
GET http://localhost:9200/schools
отклик
{ "schools":{ "aliases":{}, "mappings":{ "school":{ "properties":{ "city":{"type":"string"}, "description":{"type":"string"}, "fees":{"type":"long"}, "location":{"type":"double"}, "name":{"type":"string"}, "rating":{"type":"string"}, "state":{"type":"string"}, "street":{"type":"string"}, "tags":{"type":"string"}, "zip":{"type":"string"} } } }, "settings":{ "index":{ "creation_date":"1454409831535", "number_of_shards":"5", "number_of_replicas":"1", "uuid":"iKdjTtXQSMCW4xZMhpsOVA", "version":{"created":"2010199"} } }, "warmers":{} } }
Вы можете получить информацию обо всех индексах, используя _all или *.
Индекс существует
Существование индекса можно определить, просто отправив запрос на получение этого индекса. Если HTTP-ответ равен 200, он существует; если это 404, он не существует.
API открытия / закрытия индекса
Очень легко закрыть или открыть один или несколько индексов, просто добавив _close или _open в посте, чтобы запросить этот индекс. Например,
POST http://localhost:9200/schools/_close
Или же
POST http://localhost:9200/schools/_open
Псевдонимы индекса
Этот API помогает назначать псевдоним любому индексу с помощью ключевого слова _aliases. Один псевдоним может быть сопоставлен более чем одному, и псевдоним не может иметь то же имя, что и индекс. Например,
POST http://localhost:9200/_aliases
Тело запроса
{ "actions" : [ { "add" : { "index" : "schools", "alias" : "schools_pri" } } ] }
отклик
{"acknowledged":true}
Затем,
GET http://localhost:9200/schools_pri
отклик
……………………………………………… {"schools":{"aliases":{"schools_pri":{}},"}} ………………………………………………
Настройки индекса
Вы можете получить настройки индекса, просто добавив ключевое слово _settings в конце URL. Например,
GET http://localhost:9200/schools/_settings
отклик
{ "schools":{ "settings":{ "index":{ "creation_date":"1454409831535", "number_of_shards":"5", "number_of_replicas":"1", "uuid":"iKdjTtXQSMCW4xZMhpsOVA", "version":{"created":"2010199"} } } } }
анализировать
Этот API помогает анализировать текст и отправлять токены со значением смещения и типом данных. Например,
POST http://localhost:9200/_analyze
Тело запроса
{ "analyzer" : "standard", "text" : "you are reading this at tutorials point" }
отклик
{ "tokens":[ {"token":"you", "start_offset":0, "end_offset":3, "type":"<ALPHANUM>", "position":0}, {"token":"are", "start_offset":4, "end_offset":7, "type":"<ALPHANUM>", "position":1}, {"token":"reading", "start_offset":8, "end_offset":15, "type":"<ALPHANUM>", "position":2}, {"token":"this", "start_offset":16, "end_offset":20, "type":"<ALPHANUM>", "position":3}, {"token":"at", "start_offset":21, "end_offset":23, "type":"<ALPHANUM>", "position":4}, {"token":"tutorials", "start_offset":24, "end_offset":33, "type":"<ALPHANUM>", "position":5}, {"token":"point", "start_offset":34, "end_offset":39, "type":"<ALPHANUM>", "position":6} ] }
Вы также можете анализировать текст с любым индексом, а затем текст будет проанализирован в соответствии с анализатором, связанным с этим индексом.
Индексные шаблоны
Вы также можете создавать шаблоны индексов с сопоставлениями, которые можно применять к новым индексам. Например,
POST http://localhost:9200/_template/template_a
Тело запроса
{ "template" : "tu*", "settings" : { "number_of_shards" : 3 }, "mappings" : { "chapter" : { "_source" : { "enabled" : false } } } }
Любой индекс, начинающийся с «tu», будет иметь те же настройки, что и template_a.
Индекс Статистика
Этот API помогает вам извлечь статистику о конкретном индексе. Вам просто нужно отправить запрос на получение с индексом URL и ключевым словом _stats в конце.
GET http://localhost:9200/schools/_stats
отклик
……………………………………………… {"_shards":{"total":10, "successful":5, "failed":0}, "_all":{"primaries":{"docs":{ "count":3, "deleted":0}}}, "store":{"size_in_bytes":16653, "throttle_time_in_millis":0}, ………………………………………………
Промывать
Этот API-интерфейс помогает очищать данные из памяти индекса и переносить их в хранилище индекса, а также очищает внутренний журнал транзакций. Например,
GET http://localhost:9200/schools/_flush
отклик
{"_shards":{"total":10, "successful":5, "failed":0}}
обновление
Обновление запланировано по умолчанию в Elasticsearch, но вы можете явно обновить один или несколько индексов с помощью _refresh. Например,