Même après le passage d'un champ de tri, le score du document affecte l'ordre de tri des résultats de la recherche. Existe-t-il un moyen de faire en sorte que Lucene ignore le score du document lorsqu'un champ de tri spécifique est passé?Score du document affectant l'ordre de tri des résultats, Lucene
Ex:
DocId Score SortFieldA SortFieldB
1 23.0041 200906030800 Test
2 32.2774 200906020800 Test
3 21.0632 200906030800 Apple
Je veux que les résultats soient triés par SortFieldA d'abord, puis par SortFieldB. Donc dans le cas ci-dessus les résultats devraient être et retournés comme doc2, doc3 et doc1. Mais à cause du Score, l'ordre de tri est perturbé. J'ai remarqué que les résultats sont triés correctement si les documents ont le même score.
code qui définit les champs de tri:
public override Sort GetSort()
{
List<SortField> sortFields = new List<SortField>();
sortFields.Add(new SortField(StartDateTime.ToString(), SortField.STRING, ReverseSort));
sortFields.Add(new SortField(TitleSort.ToString(), SortField.STRING, ReverseSort));
return new Sort(sortFields.ToArray());
}
pouvez-vous poster du code? – bajafresh4life
J'ai mis à jour le poste avec un exemple. Merci. –
Essayez de sélectionner votre code et d'utiliser le bouton de code au-dessus de la boîte d'édition pour mieux formater le code. Alternativement, vous pouvez simplement placer quatre espaces devant chaque ligne de code. –