Xapian ist eine Suchmaschinentechnologie - aehnlich wie Lucene im Java-Umfeld. Sie zeichnet sich durch verschiedene Vorteile aus.
1) Xapian ist schnell
2) Obwohl Xapian selbst in C++ programmiert ist, kann mit Perl und vielen anderen Programmiersprachen darauf zugegriffen werden. Indexer und Suche sind zusammen weniger als 100 Zeilen Perl-Code.
3) Xapian bietet Relevance Feedback. Damit können Drill-Downs realisiert werden - wenn auch erst einmal nur token-basiert out-of-the-box.
4) Xapian skaliert vernünftig mit grossen Datenmengen. Bei einer Web-Suchmaschine mit 500 Millionen Webseiten (etwa 1.5 Terrabytes an Datenbank Dateien), bei der Xapian im Einsatz war, brauchte eine Suche (laut Bericht) trotzdem weniger als 1 Sekunde - natürlich hängt das auch massgeblich von
der verwendeten Hardware ab. Eine Suche nach 'Deutschland' im Katalog der USB Koeln mit knapp 77000 Treffer brauchte knapp 1 Sekunde...
Insgesamt eine stabile und interessante Loesung fuer Suchanwendungen.
Disclaimer: this post is sort of a motivating post for students. Professional programmers may find it uninteresting or painful (especially if you code in C# or Java or JavaScript). C++ is the hardest…
The Internet Communications Engine (Ice) is a modern object-oriented middleware with support for C++, .NET, Java, Python, Objective-C, Ruby, and PHP. Ice is used in many mission-critical projects by companies all over the world. Ice is easy to learn, yet provides a powerful network infrastructure and vast array of features for demanding technical applications. Ice is free software, available with full source, and released under the terms of GNU General Public License (GPL). Commercial licenses are available for customers who wish to use Ice for closed-source software.
W. Lavrijsen, and A. Dutta. Proceedings of the 6th Workshop on Python for High-Performance and Scientific Computing, page 27--35. Piscataway, NJ, USA, IEEE Press, (2016)