1、текст
Это поле используется для индексации полнотекстового текста, например, текста письма или описания продукта. Эти поля анализируются, то есть представляют собой список отдельных терминов перед преобразованием анализатором в индекс. Процесс анализа позволяет Elasticsearch искать отдельные слова в каждом полном текстовом поле. Текстовые поля не используются для сортировки и редко применяются для агрегации (хотя важный термин агрегирование является заметным исключением). Если нужно индексировать структурированный контент, такой как адреса электронной почты, имена хостов, статус-коды или метки, лучше использовать поля с ключевыми словами. Для кодов или тегов также следует использовать поле ключевого слова.
Иногда полезно иметь и полнотекстовую, и ключевую версию: одну для полнотекстового поиска, другую — для агрегации и сортировки. Этого можно достичь с помощью мультифилдинга.
2、ключевое слово
Поля, используемые для индексирования структурированных данных, такие как адреса электронной почты, имена хостов, коды статуса, почтовые индексы или метки, часто используются для фильтрации (найти все блог-посты со статусом опубликованных), сортировки и агрегирования. Поля ключевых слов можно искать только по точным значениям. Если вам нужно индексировать полнотекстовый контент, например электронную почту или описания товаров, возможно, стоит использовать текстовое поле.
3. Тип числа
integer、float
4、array
В Elasticsearch нет конкретного типа массива. По умолчанию любое поле может содержать 0 и более значений, однако все значения в массивах должны иметь одинаковый тип данных, например: String array: ["one", "two"] Целочисленные массивы: [1,2] массив массивов: [1, [2, 3]], эквивалентный [1,2,3] Массив объектов: [ { "name": "Mary", "age": 12 }, { "name": "John", "age": 10 }]
Когда поле автоматически добавляется, первое значение массива определяет тип поля. Все последующие значения должны использовать один и тот же тип данных или, по крайней мере, иметь возможность конвертировать их в тот же тип Массивы не поддерживают смешанные типы данных: [10, «какая-то строка»] Массивы могут содержать null-значения, которые можно заменить на настроенный null_value или полностью пропустить. Пустой массив рассматривается как несуществующее поле — поле без значения.
Использование типа массива в документации не требует предварительной настройки, он поддерживается нативно.
5、булевой
Булевые поля принимают значения истинного и ложного JSON, но также могут принимать строки и числа, интерпретируемые как истинные или ложные
Устаревший в версии 5.3.0.
Любые неложные, «ложные», истинные и «истинные» значения были устарели. Вы не можете использовать эти псевдобулевые значения («выключено», «нет», «0», «0», 0, 0.0) для поиска булевых доменов. Пожалуйста, используйте правду или ложь вместо этого.
6、дата
Внутри дата преобразуется в UTC (если часовой пояс указан) и сохраняется в виде длинного целого числа, обозначающего миллисекунды с эпохи. Формат даты можно настраивать, но если формат не указан, используется стандартный формат:
"strict_date_optional_time|| epoch_millis»
То есть он принимает даты с необязательными временными метками, совпадающими с strict_date_optional_time или
миллисекунды с эпохи.
Ссылки на ссылки:https://www.elastic.co/guide/en/ ... ml#strict-date-time
7、бинарный
Бинарный тип принимает бинарные значения в виде строк, закодированных в Base64. Это поле по умолчанию не сохраняется и не подлежит поиску
|