Búsquedas por palabras exactas

Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
09-09-2011 07:01 AM
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,
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,
Labels:
- Labels:
-
Archive
4 REPLIES 4
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
09-12-2011 04:32 AM
Echale un vistazo a esta clase de lucene, creo que te puede servir para lo que preguntas.
(Gracias pjcaracuel
)
(Gracias pjcaracuel


Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
09-12-2011 11:33 AM
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
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
Un saludo,
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,
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
09-12-2011 01:40 PM
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
09-21-2011 05:55 AM
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
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
