ES --- índice invertido

ES: índice invertido

[Prefacio]
Elasticsearch utiliza la tecnología de índice invertido de Lucene para lograr un filtrado más rápido que las bases de datos relacionales. En particular, tiene muy buen soporte de filtrado para múltiples condiciones, como consultas combinadas con edades entre 18 y 30 y género como femenino. El índice invertido se introduce en muchos lugares, pero ¿cómo es más rápido que el índice de árbol b en una base de datos relacional? ¿Por qué es rápido?

En términos generales, el índice b-tree es una estructura de índice optimizada para escritura. Cuando no necesitamos admitir actualizaciones rápidas, podemos utilizar la clasificación previa y otros métodos a cambio de un espacio de almacenamiento más pequeño, una velocidad de recuperación más rápida y otros beneficios, a costa de actualizaciones lentas. Para ir más allá, todavía tenemos que mirar cómo se compone el índice invertido de Lucene.

[Texto] Los
índices en ES no se tratan aquí, son equivalentes a tablas en bases de datos tradicionales

Índice invertido (índice invertido) : cada documento corresponde a un ID. El índice invertido segmentará cada documento de acuerdo con la gramática especificada y luego mantendrá una tabla que enumera los términos que aparecen en todos los documentos y los ID de documento en los que aparecen. Frecuencia de aparición, es una forma de almacenamiento específica para realizar una "matriz de documentos de Word". El índice invertido se compone principalmente de dos partes: "Diccionario de palabras "+" archivo invertido”。

En pocas palabras: el índice positivo es encontrar el valor de acuerdo con la clave, y el índice inverso es encontrar la clave de acuerdo con el valor.
Diagrama de la diferencia entre los dos

Diccionario
Inserte la descripción de la imagen aquí
de
Inserte la descripción de la imagen aquí
palabras de índice inverso de índice positivo (léxico) : un diccionario de palabras es una colección de cadenas compuesta por todas las palabras que han aparecido en la colección de documentos. Cada elemento de índice del diccionario de palabras registra información sobre la palabra en sí y apunta al " puntero de lista invertida ".

Lista invertida (PostingList) : La lista invertida registra la lista de documentos de todos los documentos en los que ha aparecido una determinada palabra y la información de posición de la palabra en el documento.Cada registro se denomina elemento invertido.

Archivo invertido : La lista invertida de todas las palabras a menudo se almacena secuencialmente en un archivo en el disco. Este archivo se llama archivo invertido. Un archivo invertido es un archivo físico que almacena un índice invertido.

Inserte la descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/qq_43288259/article/details/114937841
Recomendado
Clasificación