Lucene est un index de texte intégral inversé. Cela signifie qu'il prend tous les documents, les divise en mots, puis crée un index pour chaque mot . Puisque l'index est une correspondance de chaîne exacte, non ordonnée, il peut être extrêmement rapide. En théorie, un index SQL non ordonné sur un varchar
champ pourrait être tout aussi rapide, et en fait, je pense que vous constaterez que les grandes bases de données peuvent faire une simple requête d'égalité de chaîne très rapidement dans ce cas.
Lucene n'a pas besoin d'optimiser le traitement des transactions. Lorsque vous ajoutez un document, il n'est pas nécessaire de garantir que les requêtes le voient instantanément . Et il n'est pas nécessaire d'optimiser les mises à jour des documents existants.
Cependant, à la fin de la journée, si vous voulez vraiment savoir, vous devez lire la source. Après tout, les deux choses auxquelles vous faites référence sont open source.