1、Texto
Este campo se utiliza para indexar texto completo, como el cuerpo de un correo electrónico o la descripción de un producto. Estos campos se analizan, es decir, una lista de términos individuales antes de ser convertidos en un índice por el analizador. El proceso de análisis permite a Elasticsearch buscar palabras individuales en cada campo de texto completo. Los campos de texto no se usan para ordenar y rara vez se emplean para agregación (aunque el término importante agregación es una excepción notable). Si necesitas indexar contenido estructurado como direcciones de correo electrónico, nombres de host, códigos de estado o etiquetas, probablemente deberías usar campos de palabras clave. Para códigos o etiquetas, también deberías usar el campo de palabra clave.
A veces es útil tener tanto versiones en texto completo como en palabras clave: una para búsquedas en texto completo y otra para agregación y ordenación. Esto se puede lograr mediante multifielding.
2、palabra clave
Los campos utilizados para indexar datos estructurados, como direcciones de correo electrónico, nombres de host, códigos de estado, códigos postales o etiquetas, suelen usarse para filtrar (encontrar todas las entradas del blog con estado publicado), ordenar y agregar. Los campos de palabras clave solo pueden buscarse por valores exactos. Si necesitas indexar contenido completo, como correos electrónicos o descripciones de productos, quizá quieras usar el campo de texto.
3. Tipo de número
entero、float
4、Array
En Elasticsearch, no existe un tipo específico de array. Por defecto, cualquier campo puede contener 0 o más valores, sin embargo, todos los valores en los arrays deben tener el mismo tipo de dato, por ejemplo: Matriz de cuerdas: ["uno", "dos"] Matrices enteras: [1,2] Array de arrays: [1, [2, 3]], equivalente a [1,2,3] Orden de objetos: [ { "nombre": "Mary", "edad": 12 }, { "nombre": "John", "edad": 10 }]
Cuando un campo se añade automáticamente, el primer valor del array determina el tipo de campo. Todos los valores posteriores deben usar el mismo tipo de dato, o al menos poder convertirlos al mismo tipo que él Los arrays no admiten tipos de datos mixtos: [10, "alguna cadena"] Los arrays pueden contener valores nulos que pueden ser reemplazados por el null_value configurado o omitidos por completo. Un array vacío[] se trata como un cuerpo inexistente, es decir, un campo sin valor.
Usar el tipo de array en la documentación no requiere ninguna configuración previa, está soportado de forma nativa.
5、booleano
Los campos booleanos aceptan valores JSON de verdadero y falso, pero también pueden aceptar cadenas y números que se interpretan como verdadero o falso
Descontinuado en la 5.3.0.
Cualquier valor no falso, "falso", verdadero y "verdadero" ha sido obsoleto. No puedes usar estos valores pseudo-booleanos ("off", "no", "0", "", 0, 0, 0.0) para buscar dominios booleanos. Por favor, usa verdadero o falso en su lugar.
6、Date
Internamente, la fecha se convierte a UTC (si se especifica la zona horaria) y se almacena como un entero largo que representa milisegundos desde la época. El formato de fecha puede personalizarse, pero si no se especifica ningún formato, se utiliza el formato por defecto:
"strict_date_optional_time|| epoch_millis"
Es decir, aceptará fechas con marcas temporales opcionales que coincidan con strict_date_optional_time o
milisegundos desde-la-época.
Enlaces de referencia:https://www.elastic.co/guide/en/ ... ml#strict-date-time
7、binario
El tipo binario acepta valores binarios como cadenas codificadas en Base64. Este campo no se almacena por defecto y no es buscable
|