Używam podobnego podejścia z posortowanymi zestawami, aby zaimplementować indeksowanie pełnotekstowe. Ogólne podejście jest dobre, chociaż istnieje kilka dość prostych ulepszeń, które można wprowadzić.
- Zamiast używać losowo generowanych kluczy, możesz użyć zapytania (lub jego krótkiej formy) jako klucza. Pozwala to na ponowne wykorzystanie zestawów, które zostały już obliczone, co może znacznie poprawić wydajność, jeśli masz zapytania obejmujące dwa duże zestawy, które są często łączone w podobny sposób.
- Obsługa tytułu jako pełnego ciągu spowoduje powstanie bardzo dużej liczby zestawów pojedynczych elementów. Może być lepiej zaindeksować poszczególne słowa w tytule i przefiltrować końcowe wyniki w celu uzyskania dokładnego dopasowania, jeśli naprawdę tego potrzebujesz.