Tipos de campos de índice de Elasticsearch

Guía para los campos, parámetros y uso de los campos de índice Elasticsearch de HCL Commerce.

Para obtener una visión general de la implementación HCL Commerce de Elasticsearch, consulte Uso del servicio HCL Commerce Search . Para ver cómo se utilizan estos campos de índice, consulte Crear el índice de Elasticsearch .

Note: Para obtener más detalles y tipos de campo admitidos, consulte la documentación de Tipos de datos de campo de Elasticsearch.
Tipo Nombre Parámetros Usage Descripción:
text ​analizador, impulso, eager_global_ordinals, fielddata, fielddata_frequency_filter, campos, índice, index_options, index_prefixes, index_phrases, normas, position_increment_gap, tienda, search_analyzer, search_quote_analyzer, similitud, term_vector boosting,searching Campo para indexar los valores de texto completo, como el cuerpo de un correo electrónico o la descripción de un producto. Estos campos se analizan, es decir, se pasan a través de un analizador​ para convertir la serie en una lista de términos individuales antes de ser indexados. El proceso de análisis permite Elasticsearch buscar el palabras​​ individuales en cada campo de texto completo. Los campos de texto no se utilizan para la ordenación y rara vez se utilizan para agregaciones. ​ (Más)​
keyword impulso, doc_values, eager_global_ordinals, campos, ignore_above, índice, index_options, normas, null_value, tienda, similitud, normalizador, split_queries_on_whitespace​​​ impulso,visualización,coincidencia exacta,​filtrado,ordenación Campo para indexar contenido estructurado como direcciones de correo electrónico, nombres de host, códigos de estado, códigos postales o etiquetas. Por lo general, se utilizan​​ para filtrar, ordenar y agregar. Los campos de palabra clave solo se pueden buscar por su valor exacto, sensible a mayúsculas y minúsculas.​ (Más)
​largo, entero, b​​yte, doble, flotante ​coerción, impulso, doc_values, ignore_malformed, índice, null_value, tienda ​impulso, visualización, filtrado, búsqueda, clasificación ​Tipos de campos​​​ de tipo numérico admitidos. (Más​)
fecha ​impulso, doc_values, formato, entorno local, ignore_malformed, índice, null_value, tienda ​impulso, visualización, filtrado, búsqueda, clasificación
Las fechas en Elastic​​search pueden ser:
  • Cadenas que contienen fechas formateadas, p. ej., "2015-01-01" o "2015/01/01 12:10:30".
  • Un número largo que representa milliseconds-since-the-epoch.
  • Un número entero que representa seconds-since-the-epoch.

Internamente​​, las fechas se convierten a UTC (si se especifica la zona horaria) y se almacenan como un número largo que representa milliseconds-since-the-epoch.

Las consultas sobre fechas se convierten internamente en consultas de rangos en esta representación larga, y el resultado de agregaciones y campos almacenados se convierte de nuevo en una serie en función del formato de fecha que está asociado con el campo.

Las fechas siempre se representarán como cadenas, incluso si se han proporcionado inicialmente como largas en el documento JSON. Los formatos de fecha se pueden personalizar, pero si no se especifica ningún formato, se utiliza el valor predeterminado:

"strict_date_optional_time||epoch_millis"

Esto significa que aceptará fechas con indicaciones de fecha y hora opcionales, que se ajusten a los formatos admitidos por strict_date_optional_time o milliseconds-since-the-epoch.​ (Más​)

boolean ​impulso, doc_values, índice, null_value, tienda ​impulso, visualización, filtrado, búsqueda, clasificación ​Campo booleano que tambié​​n acepta series que se interpretan como true o false. (Más)
binary ​​doc_values, tienda ​filtrado,ordenación El tipo binario acepta un valor binario como una cadena codificada en Base64. El campo no se almacena de forma predeterminada y no es consultable​​​​​. (Más)
​integer_range, float_range, long_range, double_range, date_range,​​ ip_range ​forzar, aumentar, indexar, almacenar ​impulso, visualización, filtrado, búsqueda, clasificación Tipos de r-s admitidos​​ que se pueden utilizar para impulsar, buscar, filtrar y visualizar. (Más​)
object ​dinámico, habilitado, propiedades visualizar Los documentos JSON son jerárquicas por naturaleza; el documento puede contener objetos internos que, a su vez, pueden contener objetos internos. Internamente, este documento se indexa como una lista simple y plana de pares de claves. (Más)
anidado Propiedades dinámicas visualización, filtrado, búsqueda, ordenación El tipo anidado es una versión especializada del tipo de datos de objeto que permite que las matrices de objetos se indexen de una manera que se puedan consultar de forma independiente. Si necesita indexar matrices de objetos y mantener la independencia de cada objeto en la matriz, debe utilizar el tipo de datos anidado en lugar del tipo de datos de objeto. Internamente, los objetos anidados indexan cada objeto de la matriz como un documento oculto separado, lo que significa que cada objeto anidado se puede consultar independientemente de los demás, con la consulta anidada. (Más)
Finalización

Opciones de sugerencia de términos:

texto, campo, analizador, tamaño, orden, suggest_mode, max_edits, prefix_length, min_word_length, shard_size, max_inspections, min_doc_freq, max_term_freq, string_distance
corrección ortográfica

Las sugerencias de términos sugieren términos basados en la distancia de edición. El texto sugerido proporcionado se analiza antes de que se sugieran los términos. Los términos sugeridos se proporcionan por el token analizado de los textos de sugerencia. Las sugerencias de términos no tienen en cuenta la consulta que forma parte de la petición.

El término sugerencias proporciona una API muy útil para acceder a las alternativas de palabras de forma por token dentro de una determinada distancia de cadena. La API permite acceder a cada señal en la corriente de forma individual, mientras que la selección se deja al consumidor de la API. (Más)

Opciones de sugerencias de frase:

campo, gram_size, real_word_error_likelihood, confianza, max_errors, separador, tamaño, analizador, shard_size, texto, resaltar, intercalar, stupid_backoff, Laplace, linear_interpolation
corrección ortográfica A menudo, las sugerencias preseleccionadas son necesarias para presentarlas al usuario final. La sugerencia de frase añade lógica adicional en la parte superior de las sugerencias de términos para seleccionar todas las frases corregidas en lugar de las señales individuales ponderadas basándose en los modelos de lenguaje ngram. En la práctica, este aconsejante podrá tomar mejores decisiones sobre qué señales se deben seleccionar basándose en la coincidencia y en las frecuencias. (Más)

Opciones de sugerencias de completado:

campo, tamaño, skip_duplicates, aproximado

​sugerencia​

Las sugerencias de completado proporcionan la funcionalidad de autocompletar/búsqueda mientras escribe. Esta es una característica de navegación para guiar a los usuarios a los resultados relevantes a medida que escriben, mejorando la precisión de la búsqueda. No está pensada para la corrección ortográfica o ha realizado una función como el término o las sugerencias de las frases.

Idealmente, la funcionalidad de autocompletar debe ser tan rápida como un usuario para proporcionar comentarios instantáneos relacionados con lo que un usuario ya ha escrito. Por lo tanto, las sugerencias de completado están optimizadas para la velocidad. Las sugerencias utilizan estructuras de datos que habilitan las búsquedas rápidas, pero son costosas de crear y se almacenan en memoria. (Más)

Las sugerencias de completado consideran todos los documentos del índice, pero a menudo es conveniente que sirvan sugerencias filtradas y/o mejoradas según algunos criterios. Por ejemplo, si desea sugerir títulos de canciones filtrados por determinados artistas o desea aumentar los títulos de las canciones en función de su género. Para lograr el filtrado y/o el aumento de sugerencias, puede añadir correlaciones de contexto al configurar un campo de completado. Puede definir varias correlaciones de contexto para un campo de completado. Cada correlación de contexto tiene un nombre y un tipo exclusivos. Es obligatorio proporcionar un contexto al indexar y consultar un campo de finalización habilitada de contexto. (Más)

​​search_as_you_type​​​ max_shingle_size, Analyzer, índice, index_options, normas, tienda, search_analyzer, search_quote_analyzer, similitud, term_vector ​sugerencia​ El campo search_as_you_type es un campo de texto que está optimizado para proporcionar soporte estándar para consultas que sirven un caso de uso de completado mientras escribe. Crea una serie de subcampos que se analizan para clasificar términos que pueden coincidir de forma eficaz con una consulta que coincida parcialmente con el valor de texto indexado completo. Se da soporte a la finalización de prefijo (por ejemplo, los términos coincidentes empezando por el principio de la entrada) y la finalización de infijo (es decir, términos coincidentes en cualquier posición dentro de la entrada). (Más)
​token_count​​ Analizador, enable_position_increments, impulso, doc_values, índice, null_value, tienda filtrar Se utiliza un campo de tipo token_count para contar el número de señales en una cadena. Es un campo entero que acepta valores de serie, los analiza y, a continuación, indexa el número de tokens en la cadena. (Más)
percoladora ninguna ​percolación

El tipo de campo percoladora analiza una estructura JSON en una consulta nativa y almacena la consulta, para que la consulta de percoladora pueda utilizarla para comparar los documentos proporcionados. Este tipo de campo se utiliza generalmente para la detección y alertas de anomalías.

El flujo de trabajo normal para Elasticsearch es almacenar documentos (como datos JSON) en un índice y ejecutar búsquedas (también datos JSON) para solicitar al índice sobre esos documentos. La percoladora anula la tarea de almacenar búsquedas y utilizar documentos para solicitar al índice sobre esas búsquedas.

En el capó, los índices con campos de percolar conservan un índice oculto (en memoria). Los documentos listados en las consultas de percolar se cotejan en primer lugar en ese índice, a continuación se ejecuta una consulta normal en dicho índice para ver si el documento original percolate-field-bearing coincide

Un punto importante a recordar es que este índice oculto obtiene sus correlaciones del índice de la percoladora original. Por lo tanto, los índices utilizados para consultas de percolar deben tener correlaciones adecuadas para los datos originales y los datos del documento de consulta. (Más)

unión ninguna filtrado, agrupación, búsqueda

El tipo de datos de unión es un campo especial que crea la relación padre/hijo en los documentos del mismo índice. La sección de relaciones define un conjunto de relaciones posibles dentro de los documentos; cada relación con un nombre padre y un nombre hijo tiene la agregación de hijo e hijos y puede proporcionar una funcionalidad similar a la agrupación de resultados de Solr.

Tenga en cuenta que solo se permite una correlación de campo de unión por índice, y los documentos padre e hijo deben indexarse en la misma fragmentación. Internamente, la unión padre crea un campo para indexar el nombre de la relación dentro del documento. También crea un campo por relación padre/hijo. El nombre de este campo es el nombre del campo de unión seguido de # y el nombre del padre en la relación. (Más)

aplanado impulso, depth_limit, doc_values, eager_global_ordinals, ignore_above, índice, index_options, null_value split_queries_on_whitespace impulso, filtrado, búsqueda, ordenación El tipo aplanado proporciona un enfoque alternativo, en el que todo el objeto se correlaciona como un solo campo. Dado un objeto, la correlación aplanada analizará sus valores de hoja e indexará los mismos en un campo como palabras clave. A continuación, se puede buscar en el contenido del objeto mediante consultas simples y agregaciones. Este tipo de datos puede ser útil para indexar objetos con un número grande o desconocido de claves exclusivas. Solo se crea una correlación de campos para todo el objeto JSON, lo que puede ayudar a evitar que una explosión de correlaciones tenga demasiadas correlaciones de campos diferentes. Por otro lado, los campos de objetos planos presentan un equilibrio en términos de funciones de búsqueda. Solo se permiten consultas básicas, sin soporte para consultas de rango numérico o resaltado. (Más)
Note:
  • En Elasticsearch, las matrices no requieren un tipo de datos de campo dedicado. Cualquier campo puede contener cero o más valores de forma predeterminada, sin embargo, todos los valores de la matriz deben ser del mismo tipo de datos.
  • A menudo es útil indexar el mismo campo de diferentes maneras para distintos fines. Este es el objetivo de varios campos (declarados como campos). Por ejemplo, un campo de serie se puede correlacionar como un campo de texto para la búsqueda de texto completo y como un campo de palabra clave para la clasificación o las agregaciones. De forma alternativa, puede indexar un campo de texto con el analizador estándar, el analizador en inglés y el analizador en francés.