search lucene solr full-text-search solrnet

search - Solr: ¿Cuáles son los beneficios de la normalización de longitud/omitNorms=falso?



lucene full-text-search (1)

Pregunta 1:

El impulso de longitudes de campo más cortas sobre longitudes de campo más altas tiene que ver con un concepto fundamental de determinar la relevancia del documento llamado TF-IDF (consulte http://en.wikipedia.org/wiki/Tf%E2%80%93idf ). Como un breve ejemplo, considere que su búsqueda arrojó dos documentos: el primero es de 100 palabras y el segundo es de 1.000 palabras. Cada uno contiene su palabra clave de búsqueda solo una vez. Dado que la palabra clave en el primer documento era el 1% del texto, se considera que el documento corto es más relevante para su búsqueda que el documento largo, donde la palabra clave que buscó era solo el 0,1% del texto.

Pregunta 2:

Suena como si estuvieras basado en tus requisitos, podrías intentar omitir las normas. Sin embargo, esto puede alterar los resultados de su búsqueda en formas que no espera. Podría ser que se haya beneficiado de algunas de las buenas propiedades de la normalización de la longitud y no se haya dado cuenta. Otro enfoque podría ser almacenar realmente la longitud del documento como un tipo de campo de etiqueta, como etiquetar documentos como "corto", "medio" y "largo" y luego aumentar los documentos que coinciden en largo o largo y medio o lo que sea. Esto también le daría a sus usuarios finales la capacidad de filtrar en la longitud del documento cuando realizan búsquedas.

Nuevamente, cuando menciono las buenas propiedades de la normalización de la longitud, podría pensar en casos en los que existe un artículo súper largo que toca 10 temas diferentes, 1 de los cuales coincide con la búsqueda del usuario o existe un artículo largo que trata solo 1 tema, el único que se buscó En este caso, es probable que prefiera el artículo largo en lugar del artículo súper largo (incluso si el artículo súper largo coincide con la palabra clave de búsqueda más veces). Todo depende más de sus datos y sus casos de uso.

Estamos usando Solr para buscar artículos de varias longitudes. Indexamos los metadatos descriptivos (título, autor, categoría, palabras clave, etc.) y el texto completo del artículo. No aumentamos la relevancia en el momento del índice: todos los impulsos se realizan en el momento de la consulta (usamos dismax, junto con varios incrementos de qf, pf y bf).

Actualmente, nuestro campo de texto completo usa el estándar omitNorms = false; y como resultado, todo lo demás igual, los artículos más cortos (artículos de 2-3 pulgadas de pulgada) con frecuencia tendrán una mayor relevancia que los artículos más extensos (de varias páginas).

En nuestro caso, la longitud del artículo es un indicador significativo de relevancia, por lo que estoy considerando establecer omitNorms = true en nuestro campo de texto completo.

Preguntas: 1. ¿Por qué es el comportamiento de Lucene / solr predeterminado para aumentar las longitudes de campo más cortas en mayor? ¿Cuál es el razonamiento? 2. ¿Por qué no querría omitir los gusanos? No necesito aumentar las consultas en este campo en particular, ni utilizar ningún tipo de facetado en este campo.