Конечно! Вот перевод объяснения и примеры для Index и Mapping в Elasticsearch:
Index в Elasticsearch
In похож на базу данных в традиционных системах управления базами данных(СУБД) Index. Elasticsearch Он хранит коллекцию связанных документов. Каждый из них Index обычно соответствует определенному типу данных в вашем приложении. Например, в приложении электронной коммерции вы можете создать один Index для хранения информации о продуктах, а другой Index — для хранения информации о пользователях и заказах.
Каждый Index из них Elasticsearch разделен на более мелкие сегменты для распределения данных. Shard — это небольшая часть Index, и каждый Shard может храниться на отдельном узле внутри Elasticsearch кластера. Разделение данных на сегменты оптимизирует производительность поиска и запросов и повышает масштабируемость системы.
Например, чтобы создать новое Index имя products
в Elasticsearch, вы можете использовать API или инструменты управления, такие как Kibana, для выполнения следующей команды:
PUT /products
{
"settings": {
"number_of_shards": 3,
"number_of_replicas": 2
}
}
В приведенном выше примере мы создали Index products
по 3 shard
и по 2 replica
каждого из них shard
, чтобы обеспечить доступность и резервное копирование данных.
Mapping в Elasticsearch
Mapping — это процесс определения того, как Elasticsearch хранятся и обрабатываются данные в файле Index. Когда вы добавляете новый документ в Index, Elasticsearch используется Mapping для определения типа данных каждого поля в документе. Это помогает Elasticsearch понять, как обрабатывать и искать данные в разных областях.
Например, если у нас есть Index products
и мы хотим определить Mapping для полей name
(название продукта) и price
(цена продукта) текстовый и плавающий типы соответственно, мы можем выполнить следующую команду:
PUT /products/_mapping
{
"properties": {
"name": {
"type": "text"
},
"price": {
"type": "float"
}
}
}
В приведенном выше примере мы определили Mapping для products
индекса поле, name
имеющее тип данных text
, и поле цены, имеющее тип данных float
. Это гарантирует, что при Elasticsearch получении новых документов для products
индекса он будет хранить и обрабатывать name
поля и «цена» в соответствии с определенными типами данных.
Index и Mapping играют решающую роль в организации и управлении данными в Elasticsearch. Они помогают Elasticsearch эффективно понимать и обрабатывать данные, оптимизировать операции поиска и запросов и обеспечивают гибкие возможности масштабирования системы.