Bonjour,
tout dépend à quel point vous voulez mettre les mains dans le cambouis, et si vous cherchez une approche Saas ou si vous voulez tout vous installer sur votre serveur.
Au niveau softs à installer chez soi:
. Si c'est pour indexer des sites webs, le projet open source fait pour ca, c'est Apache Nutch (bon, ca a été fait pour crawler des millions de sites, mais du coup ca passera pour un millier).
. Il existe des solutions de recherche open source packagées comme Constellio et OpenSearchServer (ce dernier pouvant aussi être utilisé en Saas), mais qui sont généralistes, il faudra peut-etre retravailler la UI.
. Nous on bosse sur une solution appelée Datafari, mais elle n'est peut-etre pas encore assez stable pour ce que vous cherchez à faire (cela dit, les commentaires sont les bienvenus).
. Apache Solr et ElasticSearch sont bien, mais ce sont plutôt des briques, il faut rajouter des choses autour. Par contre ca fournit une grande flexibilité sur ce qu'on peut faire
Au niveau service Saas:
. Algolia et Addsearch sont faits pour les sites webs, mais ce sont des APIs web payantes
. Il y a des serveurs hostés par exemple par gotosolr.
Au niveau archi:
. En règle général, il y a 3 composants (des exemples open source entre parenthèses):
. le crawler, qui parcourt les sites et les envoie au moteur d'indexation (Apache ManifoldCF, Google Connector framework, ElasticSearch rivers)
. le moteur de d'indexation et de recherche (Solr, Lucene)
. la UI de recherche qui transmet les requêtes au moteur (AjaxSolr, AjaxFranceLabs (ce dernier il est à nous donc on l'aime bien)).
Sur Solr, un bon bouquin est Solr In Action, il est pas encore finalisé mais déjà dispo sur Manning en version early access.
Histoire de comprendre comment marchent les moteurs de recherche plus fondatelement, il y a un cours en ligne pour apprendre la programmation en créant un moteur de recherche, c'est assez instructif pour démarrer: https://www.udacity.com/course/cs101
Voili voilou.