Je profite du billet
de Nicolas Morin à propos du moteur Terrier de l'Université de Glasgow
pour signaler l’intéressante étude A Comparison of Open Source
Search Engines (format PDF) de Christian Middleton et Ricardo
Baeza-Yates.
Après avoir envisagé que leur étude puisse porter sur 29 moteurs open
source, les auteurs en ont éliminés plusieurs parce qu'ils étaient visiblement
non suivis; ils n'ont pas retenu non plus Nutch basé sur Lucene, ni Datapark,
mnoGoSearch, Namazu, OpenFTS, et Glimpse dont les temps d'indexation étaient 3
à 6 fois supérieurs aux autres.
Les moteurs effectivement analysés sont donc: ht://Dig, Indri, IXE, Lucene,
MG4J, IBM OmniFind Yahoo! Edition, Omega, SWISH-E, SWISH++, Terrier, XMLSearch,
Zettair.
- les meilleurs temps d'indexation sont réalisés par: ht://Dig, Indri, IXE,
Lucene, MG4J, Swish-E, Swish++, Terrier, XMLSearch, Zettair.
- taille des index, trois groupes peuvent être distingués:
-
- IXE, Lucene, MG4J, Swish-E, Swish++, XMLSearch, Zettair: taille d'index
égale 25% à 35% celle de la collection
- Terrier: 50% à 55% de la taille de la collection
- ht://Dig, Omega, OmniFind: supérieure à 100% à 55% de la taille de la
collection
- utilisation de la mémoire RAM:
-
- usage constant: ht://Dig, Lucene, XMLSearch
- usage croît linéairement avec la taille de la collection: IXE, MG4J,
Swish-E, Swish++, Terrier
- meilleurs temps de réponse: Indri, IXE, Lucene, XMLSearch.
- tests sur une collection de 10 GB divisée en sous-collections:
-
- Indri, IXE, MG4J, Terrier, Zettair seuls capables d'indexer correctement la
collection.
- meilleure performance d'indexation: Zettair
Conclusion de l'étude:
"There are some considerations to make, based on the programming language (e.g.
to be able to modify the sources) and/or the characteristics of the server
(e.g. RAM memory available). For example, if the size of the collection to
index is very large and it tends to change (i.e. needs to be
indexed frequently), maybe it can be wise to focus the attention on Zettair,
MG4J or Swish++, since they are fast in the indexing and searching stages.
Swish-E will also be a good alternative. On the other hand, if one of the
constraints is the amount of disk space, then Lucene would be a good
alternative, since it uses few space and has low retrieval time. The drawback
is the time it takes to index the collection. Finally, if the collection does
not change frequently, and since all the search engines had similar searching
times, you can make a decision based on the programming language used by the
other applications in the website, so the customization time is
minimized. For Java you can choose MG4J, Terrier or Lucene, and for C/C++
you can choose Swish-E, Swish++, ht://Dig, XMLSearch, or Zettair."