Pregunta

Trabajo con Solr, no puedo solucionar mi problema de la precisión del resultado (Q vs BF teniendo en cuenta los acentos)

Tengo un índice SOLR con 2 campos indexados (esto se simplifica):

town, population
Félines, 100
Ferrand, 10000

Cuando consulte: q=Fé&qf=town town_ascii&bf=population^2&defType=dismaxMe gustaría este pedido en mis resultados: Félines > Ferrand.

Cuando consulte: q=Fe&qf=town town_ascii&bf=population^2&defType=dismax Me gustaría este pedido en mis resultados: Ferrand > Félines

El problema es que Ferrand supera cada vez que Félines porque su población es más grande, ¿cómo puedo resolver eso? No encontré cómo usar la puntuación de la consulta y usarla en bf para equilibrar la población

¿Fue útil?

Solución

No publicaste tu schema.xml Pero supongo que estás usando el ASCIIFoldingFilterFactory Para el town_ascii campo. Significa que si está indexando la palabra félines, los siguientes son los términos indexados:

town: Félines
town_ascii: Felines

Por lo tanto, estás diciendo que un partido para el town el campo es más importante que un partido para town_ascii. Deberías cambiar el qf parámetro a algo como qf=town^3 town_ascii para dar más peso al town campo. Entonces puede ajustar el peso dependiendo de cuál sea el peso deseado para town comparado con population.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top