Question

i travail avec solr, je ne peux pas résoudre mon problème de la précision du résultat (q vs la prise bf compte des accents)

i un indice de solr avec 2 champs indexés (ceci est simplifié):

town, population
Félines, 100
Ferrand, 10000

quand je recherche: q=Fé&qf=town town_ascii&bf=population^2&defType=dismax Je voudrais cet ordre sur mes résultats. Félines > Ferrand

Quand je recherche: q=Fe&qf=town town_ascii&bf=population^2&defType=dismax Je voudrais cet ordre sur mes résultats: Ferrand > Félines

Le problème est que Ferrand bat tous les Félines de temps parce que sa population est plus grande, comment puis-je résoudre cela? Je ne trouve pas comment utiliser le score de la requête et l'utiliser dans bf à la population de l'équilibre

Était-ce utile?

La solution

Vous n'avez pas poster votre schema.xml mais je suppose que vous utilisez le ASCIIFoldingFilterFactory pour le champ town_ascii. Cela signifie que si vous l'indexation du mot Félines Voici les termes indexés:

town: Félines
town_ascii: Felines

Par conséquent, vous dites que le match pour le champ town est plus important qu'un match pour town_ascii. Vous devez modifier le paramètre qf à quelque chose comme qf=town^3 town_ascii pour donner plus de poids au champ town. Ensuite, vous pouvez ajuster le poids en fonction de ce qui est le poids désiré pour town par rapport à population.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top