Búsquedas por palabras exactas

cancel
Showing results for 
Search instead for 
Did you mean: 
apalazon
Member II

Búsquedas por palabras exactas

Hola a todos,

tengo un problema con la búsqueda en Alfresco Web Client Community 3.4.d.

El objetivo que tenemos es realizar una búsqueda de la ocurrencia de la una palabra exacta dentro de varios documentos en pdf. Por ejemplo, si se busca accesibilidad, no se quiere que aparezcan resultados de otras palabras que puedan tener la misma tokenizacion, como accesible.

En teoría la búsqueda exacta en alfresco está implementada anteponiendo el signo "=" a la palabra, por lo que he podido leer en este hilo en inglés, y en este reporte de bug:

http://forums.alfresco.com/en/viewtopic.php?f=3&t=19701&start=0&hilit=exact+search
http://issues.alfresco.com/jira/browse/ALF-3318

Sin embargo, a veces obtengo resultados, y a veces no, conocidas las palabras que van a aparecer en el conjunto de documentos.

Por lo que conozco de lucene (el motor de búsqueda de Alfresco), se que cuando se indexa un documento en PDF se tokeniza, es decir, sólo se queda con las raíces verbales y elimina las "stop words". Pero creo que se puede configurar para que en lugar de eso también almacene en el índice el texto completo.

Mi pregunta es, ¿es viable hacer búsquedas por palabras exactas en alfresco? ¿qué configuración hay que cambiar para conseguirlo?

Muchas gracias, un saludo,
4 Replies
cristinamr
Advanced

Re: Búsquedas por palabras exactas

Echale un vistazo a esta clase de lucene, creo que te puede servir para lo que preguntas.

(Gracias pjcaracuel Smiley Wink)
--
VenziaIT: helping companies since 2005! Our ECM products: AQuA & Seidoc
apalazon
Member II

Re: Búsquedas por palabras exactas

Hola de nuevo,

gracias CristinaMR por la respuesta, ha estado cerca y ha sido una buena pista, pero no era la correcta. Ese analizador que mencionas devuelve el campo entero (el campo content del documento) como un sólo token.

En cambio, usando
org.apache.lucene.analysis.SimpleAnalyzer; 
sí obtengo el resultado que busco, es decir, que tome como un token cada una de las palabras de forma literal, separadas por espacios. De esa forma pierdo toda la capacidad de hacer búsquedas semánticas, pero gano que las búsquedas sean exactas, que era lo que pretendía. Es una solución algo limitada, pero cumple los requisitos.

Para cambiar esta configuración, puede verse el tutorial que ponen en este hilo:
http://forums.alfresco.com/es/viewtopic.php?f=11&t=1916

Pero usando la clase
org.apache.lucene.analysis.SimpleAnalyzer; 
como analizador, en vez del analizador para español.

Un saludo,
cristinamr
Advanced

Re: Búsquedas por palabras exactas

Perfecto. Gracias por compartir la respuesta Smiley Wink

¡Un saludo!
--
VenziaIT: helping companies since 2005! Our ECM products: AQuA & Seidoc
antoniosoler
Member II

Re: Búsquedas por palabras exactas

Hola,
Esta es una pregunta frecuente, mucha gente esta acostumbrada al uso de búsquedas estrictas y las búsquedas "tokenizadas" les marean un poco, la solución es bien sencilla, en el caso de español es cambiar el contenido del fichero dataTypeAnalyzers_es.properties

d_dictionary.datatype.d_text.analyzer=org.alfresco.repo.search.impl.lucene.analysis.AlfrescoStandardAnalyser

d_dictionary.datatype.d_content.analyzer=org.alfresco.repo.search.impl.lucene.analysis.AlfrescoStandardAnalyser

el Standard analyzer no hace "stemming" y es perfectamente valido para cualquier lenguaje europeo (los asiáticos de izquierda a derecha o en vertical son otro cantar)

Dejo aquí también un link a otro tutorial, si lo que deseas no es deshabilitar completamente snowball sino cambiar ligeramente el comportamiento echale un ojo a esto:

http://java.dzone.com/news/modifying-lucene-snowball