ElasticSearch (7) --- índice invertido

Inserte la descripción de la imagen aquí

Anterior: ElasticSearch (6) -Kibana plugin

1. Índice directo e índice inverso

  Cuando se trata del concepto de índices, primero debe saber que los índices pueden dividirse en índices directos e índices inversos (que también pueden entenderse como índices invertidos).

Índice de avance:

  El índice directo puede entenderse simplemente como documento a palabra . Por ejemplo, ahora hay 4 documentos,

Doc Palabras
Doc1 En el camino de la vida
Doc2 nunca retirarse de todo el cuerpo
Doc3 disfruta de sus logros y obtén algo por nada
Doc4 Si no trabajas duro, estás fuera

  Establecer un índice positivo primero analizará las palabras que aparecen en cada documento, y luego establecerá la relación de mapeo del documento a la palabra.

Doc Palabras
Doc1 En el camino de la vida
Doc2 nunca, retirarse, del cuerpo entero
Doc3 disfrutar, sus logros, y obtener algo, por nada
Doc4 Si usted no trabaja duro, está fuera
Índice inverso:

  El índice inverso puede entenderse simplemente como palabras a documentos . Tomando los 4 documentos anteriores como ejemplo, establecer un índice inverso establecerá la relación de mapeo entre palabras y documentos

Palabra Doc
En Doc1 ,
el Doc1, Doc2,
la carretera Doc1
...... ......

El índice inverso no solo puede registrar la posición de una palabra en el documento, sino también registrar el número de apariciones en el documento. Por ejemplo, en la tabla anterior Onen Doc1aparecer más de una vez, la palabra youen Doc4la aparición de dos veces en.

2. ¿Por qué ElasticSearch no utiliza el índice directo?

  Si se utiliza un índice hacia adelante, cuando un usuario ingresa una palabra clave de búsqueda, recorrerá todos los documentos para encontrar el documento que contiene la palabra clave. Responde datos al usuario. Sin embargo, ElasticSearch a menudo se usa para tratar las necesidades de algunas aplicaciones con grandes cantidades de datos (como la búsqueda de Baidu, etc.), el uso de la eficiencia de indexación directa es demasiado bajo para responder a los datos en tiempo real. Por lo tanto, es más razonable utilizar el índice inverso (índice invertido) en este momento.

3. Caso de índice invertido

  Ahora que hay una castaña como la siguiente, necesitamos establecer un índice invertido en el documento que se muestra en la figura a continuación. (La imagen proviene de la red)

Inserte la descripción de la imagen aquí
Use el tokenizer para segmentar el contenido en el documento. Y registre el número de documento donde aparecen estas palabras.
Inserte la descripción de la imagen aquí
Ahora bien, si un usuario desea buscar 谷歌, puede encontrar aparecer directamente 谷歌documentan las palabras son: 1,2,3,4,5. El índice invertido puede registrar no solo la información de ubicación de las palabras clave, sino también la frecuencia de aparición de palabras clave. Por ejemplo, la siguiente figura Waveaparece una vez en el documento 4, una vez 拉斯en el documento 3 y una vez en el documento 5.

Inserte la descripción de la imagen aquí
Al mostrar los resultados de la búsqueda, las puntuaciones se puntuarán de acuerdo con el grado de coincidencia del índice. Cuanto mayor sea la puntuación, mayor será la clasificación.
Buscar ahora谷歌加盟网站

Palabra Documento 1 Documento 2 Documento 3 Documento 4 Documento 5
Google * * * * * * * * * *
Unirse * * * * * *
Sitio web * *

De acuerdo con la distribución de asteriscos en el cuadro anterior, el documento 5 tiene la puntuación más alta y el mayor grado de coincidencia.

Siguiente: ElasticSearch (8): segmentador de palabras
117 artículos originales publicados · Me gusta 57 · Visitantes más de 10,000

Supongo que te gusta

Origin blog.csdn.net/qq_43655835/article/details/104748456
Recomendado
Clasificación