Apache Solr
Alternatives à Solr
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.