Я новичок в ElasticSearch. Я просматривал определения некоторых индексных файлов и наткнулся на слова «сопоставления» и «сопоставление», как показано ниже. Я поискал по всему сайту документации elasticsearch и обнаружил, что оба слова упоминаются немного, но никогда не объясняли разницу. Является ли «сопоставление» просто множественным числом от «сопоставления», и они принимают одни и те же параметры? отличается ли сингулярное отображение от того, что оно вложено в область "dynamic_templates"? Кажется, это так, но я не могу найти ничего в документации, чтобы подтвердить это. Благодарность
{ <--- top level
...some JSON...
"mappings": { //<--- plural
"_doc": {
"dynamic_templates": [
{
"space": {
"match_mapping_type": "string",
"match": "space",
"mapping": { <--- singular!
"type": "keyword",
"ignore_above": 64,
"fields": {
"analyzed": {
"type": "text",
"analyzer": "english"
}
}
...more JSON...
Первое появление mappings
- это структура, в которой вы можете определить типы отображения. Исторически было разрешено определять несколько типов отображений в одном индексе, но, поскольку отличный рефакторинг карт разрешен только один тип отображения. Вот почему mappings
используется во множественном числе. Скоро исчезнет.
Второй mapping
- это просто ключевое слово при определении шаблоны динамических полей. Часть match*
просто идентифицирует динамическое поле, а часть mapping
определяет отображение для этого поля. Это своего рода продвинутая функция, поэтому не волнуйтесь, если вы не поймете ее сразу.
Удачи с этим?