2010-04-21 16 views

Respuesta

15

Depende de la configuración del campo se está consultando.

Si la configuración del analizador de indexación incluye un StopFilterFactory, las palabras vacías simplemente no están indexadas, por lo que no puede consultarlas después. Pero como Solr mantiene la posición de los términos en el índice, puede indicarle que incremente el valor de posición de los términos restantes para reflejar el hecho de que originalmente había otros términos intermedios.

Los "enablePositionIncrements" aquí es la clave para lograr que:

<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true"/> 

Si el analizador de consultas también tiene la StopFilterFactory configurado con la misma configuración, la consulta debería funcionar como se espera.

Ver este enlace para obtener más información: http://www.lucidimagination.com/search/document/CDRG_ch05_5.6.18

+0

Gracias, eso es lo que necesitaba – Ruth

+0

Tan difícil de encontrar la definición exacta del atributo enablePositionIncrements. Gracias amigo! – BFree

2

También he tenido suerte con el CommonGramsFilterFactory para lograr resultados similares al poner esto en el lugar apropiado en su declaración FieldType.

<filter class="solr.CommonGramsFilterFactory" words="stopwords.txt" ignoreCase="true"/> 
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt"/> 

No está seguro de lo bien que funciona con enablePositionIncrements = "true" habilitadas en el StopFilterFactory. También necesita ejecutar Solr 1.4 para usar esto.

+0

Muchas gracias, eso es útil para saber – Ruth

Cuestiones relacionadas