Możesz to zrobić, tworząc drugi indeks w klastrze ES. Gdy użytkownik przeszukuje Twoją aplikację, wykonujesz dwa kroki.
- Prześlij wyszukiwanie jako zapytanie do Elasticsearch, aby uzyskać normalne zachowanie wyszukiwania.
- Prześlij żądanie indeksu do klastra z wyszukiwanymi hasłami podanymi przez użytkownika.
Dzięki drugiemu indeksowi wszystkich wyszukiwanych haseł, które zostały przesłane, możesz zrobić kilka fajnych rzeczy. W Twoim przypadku możesz mieć pole „liczba”, tak jak w SQL, które zwiększasz, gdy więcej osób szuka tego terminu. Innym świetnym przypadkiem użycia są warunki zalecane w stylu Google. Twój interfejs użytkownika może przesłać żądanie wyszukiwania z wprowadzonym tekstem po każdym naciśnięciu klawisza i wypełnić menu rozwijane trafieniami z wcześniej wyszukiwanych haseł. Możesz to nawet spersonalizować, dodając pole użytkownika i odfiltrowując wyniki nie od tego konkretnego użytkownika.
Należy pamiętać, że ElasticSearch może być używany zarówno jako podstawowy, jak i pomocniczy magazyn danych. Zawsze sugeruję, aby zachować tylko dane, które chcesz stracić (takie jak historia wyszukiwania), jako dane podstawowe. Przechowuj krytyczne dane systemu w bardziej tradycyjnym magazynie danych, takim jak SQL, w ten sposób łatwo będzie tworzyć kopie zapasowe i przywracać, jeśli coś pójdzie nie tak!