Apache Solr: uso correcto de CompoundWordFilter

Estoy tratando de averiguar cómo configurar mejor Solr para mi aplicación. Estoy indexando documentos PDF (en su mayoría alemanes) y estoy usando consultas dismax para consultar Solr.

Si un documento contiene la palabra "Firmenprofil" (una palabra compuesta en alemán, -> 'perfil de la empresa'), solo se devolverá en consultas para esa palabra exactamente. Sin embargo, sería deseable que las consultas que solo contienen "Profil" también devuelvan este documento.

Descargué un archivo de diccionario alemán y apliqué un DictionaryCompoundWordTokenFilter tanto para el analizador de índices como para el de consultas.

El problema es que el filtro descompone la consulta en partes pequeñas (por ejemplo, "pro" en el caso de "Firmenprofil", que luego da como resultado la devolución de todo tipo de documentos que contienen palabras como "Producto" ...).

Intenté eliminar el filtro del analizador de consultas, lo que hace que solr no encuentre el documento en absoluto. También intenté dejar el filtro de consulta, pero estableciendo explícitamente el onlyLongestMatch-opción a verdadero, pero eso no pareció tener ningún efecto en absoluto.

preguntado el 27 de agosto de 11 a las 18:08

2 Respuestas

Ok, parece que mi archivo de diccionario era simplemente demasiado grande (~ 20mb). Lo reemplacé por uno más compacto y ahora funciona bien ...

Respondido el 01 de Septiembre de 11 a las 11:09

sí, lo he comprobado, sry por no publicar ninguna configuración, pero he resuelto el problema ahora - DeX3

Sin sus archivos de configuración reales, es un juego de adivinanzas.

¿Verificaste si profil es parte del diccionario?

Respondido 28 ago 11, 19:08

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.