J'utilise une approche similaire avec des ensembles triés pour implémenter l'indexation de texte intégral. L'approche globale est bonne, bien qu'il y ait quelques améliorations assez simples que vous pourriez apporter.
- Plutôt que d'utiliser des clés générées aléatoirement, vous pouvez utiliser la requête (ou une forme abrégée de celle-ci) comme clé. Cela vous permet de réutiliser les ensembles qui ont déjà été calculés, ce qui peut améliorer considérablement les performances si vous avez des requêtes sur deux grands ensembles qui sont généralement combinés de manière similaire.
- Gérer le titre comme une chaîne complète entraînera un très grand nombre d'ensembles de membres uniques. Il peut être préférable d'indexer des mots individuels dans le titre et de filtrer les résultats finaux pour une correspondance exacte si vous en avez vraiment besoin.