sdx-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [sdx-users] performances maxsort?


From: Emmanuel Bégué
Subject: RE: [sdx-users] performances maxsort?
Date: Mon, 4 Sep 2006 22:50:37 +0200

Martin,

Merci de cette réponse; donc si c'est compliqué d'optimiser
maxsort, il est plus intéressant de se focaliser sur le tri
Lucene dont on a parlé par ailleurs...

(Et du coup maxsort n'a pas énormément d'intérêt, c'est un
générateur de faux espoirs ;-)

Pour les temps avec maxsort, je pense qu'en testant j'ai
fait de nombreuses recherches avec beaucoup de résultats,
ce que je ne fais jamais sinon: c'est ça qui donne
l'impression que c'est pire...

À bientôt,
EB

> -----Message d'origine-----
> De : address@hidden
> [mailto:address@hidden
> De la part de Martin Sevigny
> Envoyé : lundi 4 septembre 2006 16:07
> À : address@hidden
> Objet : Re: [sdx-users] performances maxsort?
>
>
> Salut,
>
> >> Parce que si c'est le problème que j'ai vu, alors ils
> >> devraient être triés...
> >
> > Non, je viens de regarder à nouveau, ça "marche", c'est
> > à dire que les n résultats les plus pertinents sont bien
> > triés selon l'ordre demandé, et les suivants sont
> > présentés dans l'ordre décroissant de pertinence.
>
> OK. Merci pour le test. J'ai regardé de plus près et ça peut se
> comprendre.
>
> En fait, je l'écris ici pour s'en rappeler, mais le code est optimisé
> pour maxSort, mais à moitié...
>
> Classe SortSpecification, lignes 232 et suivantes:
>
> ResultDocument[] docs = res.getDocuments();
> if(this.getMaxSort() == SortSpecification.SORT_UNLIMITED)
>      Arrays.sort(docs, this);
> else if( this.getMaxSort() > 0 )
>     Arrays.sort(docs, 0, ((this.getMaxSort()< docs.length) ?
> this.getMaxSort() : docs.length) - 1, this);
> res.setSortedResults(docs);
> return res;
>
> Le tri s'effectue réellement sur les maxSort premiers résultats, mais
> dans tous les cas on appelle res.getDocuments() qui va lire tous les
> documents retournés par les résultats, pas seulement les maxSort
> premiers...
>
> ... et je ne crois pas que ce soit très efficace. En fait, le tri serait
> négligeable par rapport au temps pour lire l'index Lucene, ce qui ne
> m'étonne pas du tout, même si je n'ai jamais testé.
>
> Le problème, c'est que ce n'est pas trivial de récupérer uniquement les
> maxSort premiers documents de l'index Lucene, car on n'a jamais prévu
> d'avoir une liste de résultats qui serait composée de "ResultDocument"
> et de "Hits", on a toujours soit une liste de ResultDocument, soit une
> liste de Hits.
>
> Bref, si c'est bien là le problème, je n'ai pas de solution rapide.
>
> > En revanche, s'agissant des temps de réponse, ils sont
> > en fait plutôt pires avec maxsort que sans...?
>
> Humm... Réellement? Difficile à expliquer...
>
> Martin Sévigny
>
>
>
> _______________________________________________
> sdx-users mailing list
> address@hidden
> http://lists.nongnu.org/mailman/listinfo/sdx-users
>
>





reply via email to

[Prev in Thread] Current Thread [Next in Thread]