valor quitar que indice funciona existe encuentra como coincidir coincidencias buscarv buscar java lucene rank scoring

java - quitar - formula coincidir y buscarv en excel



Lucene: las coincidencias exactas no se muestran primero (1)

Estoy usando las clases de demostración IndexFiles y SearchFiles para indexar y buscar que están en el paquete org.apache.lucene.demo.

Mi problema es que cuando uso una consulta que contiene más de una palabra, no obtengo resultados que tengan la coincidencia exacta. Por ejemplo:

Enter query: "natural language" Searching for: "natural language" 298 total matching documents 1. download/researchers.uq.edu.au/fields-of-research/natural-language-processing .txt 2. download/researchers.uq.edu.au/research-project/16267.txt 3. download/researchers.uq.edu.au/research-project/16279.txt 4. download/researchers.uq.edu.au/research-project/18361.txt 5. download/www.uq.edu.au/news/%3Farticle%3D2187.txt 6. download/researchers.uq.edu.au/researcher/2115.txt 7. download/ceit.uq.edu.au/content/2013-2014-summer-research-scholarship-project s-dr-alan-cody%3Fpage%3D1.txt 8. download/ceit.uq.edu.au/content/2013-2014-summer-research-scholarship-project s-dr-alan-cody%3Fpage%3D2.txt 9. download/ceit.uq.edu.au/content/2013-2014-summer-research-scholarship-project s-dr-alan-cody.txt 10. download/www.ceit.uq.edu.au/content/2013-2014-summer-research-scholarship-pr ojects-dr-alan-cody.txt Press (n)ext page, (q)uit or enter number to jump to a page.

no tiene los mismos resultados que:

Enter query: natural language Searching for: natural language 54307 total matching documents 1. download/cyberschool.library.uq.edu.au/display_resource.phtml%3Frid%3D190.txt 2. download/cyberschool.library.uq.edu.au/display_resource.phtml%3Frid%3D576.txt 3. download/cyberschool.library.uq.edu.au/display_resource.phtml%3Frid%3D46.txt 4. download/espace.library.uq.edu.au/view/UQ%3A166163.txt 5. download/cyberschool.library.uq.edu.au/display_resource.phtml%3Frid%3D108.txt 6. download/cyberschool.library.uq.edu.au/display_resource.phtml%3Frid%3D70.txt 7. download/cyberschool.library.uq.edu.au/display_resource.phtml%3Frid%3D708.txt 8. download/researchers.uq.edu.au/fields-of-research/natural-language-processing .txt 9. download/researchers.uq.edu.au/research-project/16267.txt 10. download/cyberschool.library.uq.edu.au/display_resource.phtml%3Frid%3D117.tx t Press (n)ext page, (q)uit or enter number to jump to a page.

Por ejemplo, el primer documento coincidente ni siquiera contiene la palabra clave "idioma".

Si utilizo el método de explain() dentro de la clase IndexSearcher , IndexSearcher este resultado para el primero:

1. download/cyberschool.library.uq.edu.au/display_resource.phtml%3Frid%3D190.txt 0.70643383 = (MATCH) sum of: 0.5590494 = (MATCH) weight(contents:natural in 62541) [DefaultSimilarity], result of: 0.5590494 = score(doc=62541,freq=4.0 = termFreq=4.0 ), product of: 0.8091749 = queryWeight, product of: 4.4216847 = idf(docFreq=13111, maxDocs=401502) 0.18300149 = queryNorm 0.6908882 = fieldWeight in 62541, product of: 2.0 = tf(freq=4.0), with freq of: 4.0 = termFreq=4.0 4.4216847 = idf(docFreq=13111, maxDocs=401502) 0.078125 = fieldNorm(doc=62541) 0.1473844 = (MATCH) weight(contents:language in 62541) [DefaultSimilarity], result of: 0.1473844 = score(doc=62541,freq=1.0 = termFreq=1.0 ), product of: 0.5875679 = queryWeight, product of: 3.2107275 = idf(docFreq=44012, maxDocs=401502) 0.18300149 = queryNorm 0.25083807 = fieldWeight in 62541, product of: 1.0 = tf(freq=1.0), with freq of: 1.0 = termFreq=1.0 3.2107275 = idf(docFreq=44012, maxDocs=401502) 0.078125 = fieldNorm(doc=62541)

Si hago clic en siguiente y encuentro un resultado como este:

19. download/www.uq.edu.au/news/%3Farticle%3D2187.txt 0.47449595 = (MATCH) sum of: 0.2795247 = (MATCH) weight(contents:natural in 35173) [DefaultSimilarity], result of: 0.2795247 = score(doc=35173,freq=4.0 = termFreq=4.0 ), product of: 0.8091749 = queryWeight, product of: 4.4216847 = idf(docFreq=13111, maxDocs=401502) 0.18300149 = queryNorm 0.3454441 = fieldWeight in 35173, product of: 2.0 = tf(freq=4.0), with freq of: 4.0 = termFreq=4.0 4.4216847 = idf(docFreq=13111, maxDocs=401502) 0.0390625 = fieldNorm(doc=35173) 0.19497125 = (MATCH) weight(contents:language in 35173) [DefaultSimilarity], result of: 0.19497125 = score(doc=35173,freq=7.0 = termFreq=7.0 ), product of: 0.5875679 = queryWeight, product of: 3.2107275 = idf(docFreq=44012, maxDocs=401502) 0.18300149 = queryNorm 0.33182758 = fieldWeight in 35173, product of: 2.6457512 = tf(freq=7.0), with freq of: 7.0 = termFreq=7.0 3.2107275 = idf(docFreq=44012, maxDocs=401502) 0.0390625 = fieldNorm(doc=35173)

qué página contiene la palabra clave exacta "lenguaje natural". Entonces mis preguntas son:

1) ¿Por qué Lucene no muestra coincidencias exactas primero?

2) ¿Por qué Lucene muestra un resultado que ni siquiera contiene una palabra clave?

3) ¿Dónde / cómo puedo cambiar eso para que muestre primero los que coinciden exactamente y luego los más relevantes?


1 - No está destinado a. Consulte la documentación sobre la sintaxis de consulta de Lucene . El natural language consulta es una consulta compuesta por dos términos. Por su propia cuenta, Lucene no tiene ninguna preferencia para que los términos sean cercanos. Si desea encontrar coincidencias exactas, una consulta de frase es el enfoque correcto, como "natural language"

2 - Ambos resultados en los que incluiste una explicación contienen coincidencias para ambos términos, mira:

0.2795247 = (MATCH) weight(contents:natural in 35173) [DefaultSimilarity], result of: 0.2795247 = score(doc=35173,freq=4.0 = termFreq=4.0 ... 0.19497125 = (MATCH) weight(contents:language in 35173) [DefaultSimilarity], result of: 0.19497125 = score(doc=35173,freq=7.0 = termFreq=7.0

Según Lucene, encontró el término "natural" 4 veces en ese documento, y "lenguaje" 7 veces, en el campo de contenido (que supongo que es su campo predeterminado).

3 - Revise la sintaxis del analizador de consultas, para ver qué tiene más sentido para usted. Parece que es posible que las Búsquedas de proximidad sean útiles.

Si simplemente desea obtener coincidencias de frase seguidas de otras, podría usar algo como:

"natural language" natural language