Apache Solr

Alternatives à Solr

Google

S'il s'agit d'un problème simple de recherche de texte, qu'il n'y a pas de données structurées, il ne faut pas implémenter pour rien. Google sait rechercher au travers des pages d’un site !

Lucene

Si l’application n’est pas une application Web, autant utiliser les différentes implémentations de Lucene, Solr ayant vraiment été conçu pour mettre en place la recherche étendue au sein d’application Web.

Les bases de données

Plusieurs bases de données supportent la recherche full-text. MySQL, par exemple, mais celui-ci atteint ses limites de performances dès que l’index commence à être grand.
Dans tous les cas, les bases de données sont inadaptées pour rechercher "partout", car il est nécessaire de faire un scan complet des tables de la base, et cela dégrade les performances :

	SELECT * FROM etudiant WHERE
	(nom LIKE ‘%alex%’ OR prenom
	LIKE ‘%alex%’)
	OR
	prenom LIKE ‘%alix%’ OR
	prenom LIKE ‘%axel%’
	ORDER BY id DESC
					

Librairies commerciales

Il y en a plusieurs de performantes mais chères.

Ecrire sa propre implémentation

Cela est possible mais il ne faut pas réinventer la roue, beaucoup de travail a été fait sur Solr/Lucene depuis des années.