- Wyszukiwanie w czasie rzeczywistym znacznie poprawia komfort użytkownika, ponieważ natychmiast wyświetla wyniki bez konieczności przeładowywania strony.
- Silniki takie jak Algolia i Elasticsearch, a także internetowe interfejsy API i sztuczna inteligencja umożliwiają tworzenie wydajnych i niezwykle konfigurowalnych wyszukiwarek.
- Frameworki takie jak Laravel i natywne komponenty Androida upraszczają techniczną implementację wyszukiwarek dzięki funkcjom autouzupełniania i sugestiom.
- Kluczem do optymalizacji i personalizacji wyszukiwania bez utraty zaufania użytkowników są analizy w czasie rzeczywistym i staranne zarządzanie prywatnością.
Te wyszukiwania w czasie rzeczywistym w aplikacjach internetowych Stały się kluczowym elementem w dostarczaniu elastycznych, trafnych i płynnych doświadczeń. Od witryny e-commerce, która sugeruje produkty podczas pisania, po panel analityczny aktualizujący się w czasie rzeczywistym – użytkownicy nie chcą już czekać na załadowanie nowej strony, aby zobaczyć wyniki.
Jednocześnie ekosystem narzędzi i usług, które umożliwiają tę magię, jest ogromny: wyszukiwarki takie jak Algolia czy ElasticsearchIntegracje z interfejsami API, niestandardowe wyszukiwarki oparte na Laravel i JavaScript, natywne widżety wyszukiwania dla Androida, systemy analityki w czasie rzeczywistym, takie jak Clicky czy Fathom, oraz ustawienia prywatności, takie jak Aktywność w sieci i aplikacjach Google. Zrozumienie, jak wszystkie te elementy ze sobą współgrają, jest kluczowe dla wyboru odpowiedniego rozwiązania. odpowiednia architektura i kontrolować koszty, wydajność i dane.
Na czym polega wyszukiwanie w czasie rzeczywistym w aplikacjach internetowych i dlaczego jest takie ważne?
Kiedy mówimy o wyszukiwanie w czasie rzeczywistym Mamy na myśli interfejsy, w których, gdy użytkownik wpisuje zapytanie, aplikacja wysyła żądania do serwera (lub zewnętrznej wyszukiwarki), przetwarza informacje i Aktualizuje wyniki bez przeładowywania stronyWszystko to dzieje się przy bardzo niskim opóźnieniu, więc wrażenia są natychmiastowe.
W kontekście cyfrowego doświadczenia, szybkie i dokładne wyszukiwanie nie jest już „dodatkiem”, lecz kluczowym czynnikiem sukcesu. Słabe wyszukiwanie wewnętrzne może prowadzić do Mniej konwersji, więcej odrzuceń i sfrustrowani użytkownicyDobre wdrożenie wydłuża czas korzystania z aplikacji, zwiększa prawdopodobieństwo zakupu i podnosi ogólną satysfakcję z użytkowania.
Wyszukiwanie w czasie rzeczywistym nie ogranicza się już do typowego pola tekstowego na stronie internetowej. Dziś łączy się je z autouzupełnianie, filtry dynamiczne, korekta literówek, personalizacja oparta na historii a nawet odpowiedzi generowane przez modele sztucznej inteligencji wspierane przez dane pozyskiwane „w locie” z sieci.
Ekosystem wyszukiwarek i usług wyszukiwania w czasie rzeczywistym
W obecnym krajobrazie znajdujemy bogaty ekosystem rozwiązań umożliwiających wdrażanie wyszukiwania w czasie rzeczywistym, obejmujący: silniki SaaS wysokiego poziomu z w pełni konfigurowalnych interfejsów API niskiego poziomu. Każde narzędzie ma swoje zalety, koszty i idealne zastosowania.
Algolia To jedna z najbardziej znanych nazw, jeśli chodzi o „wyszukiwanie jako usługę”. Oferuje ona oparty na chmurze moduł, który specjalizuje się w dostarczaniu wyników niemal natychmiast, z konfigurowalną trafnością i wieloma funkcjami przeznaczonymi dla aplikacji internetowych i mobilnych.
Jego działanie opiera się na indeksowaniu danych na serwerach. Po zindeksowaniu zapytania są rozwiązywane za pomocą wysoce zoptymalizowane algorytmy (wewnętrznie wykorzystuje struktury i techniki, takie jak wyszukiwanie binarne, indeksy odwrócone i inne optymalizacje), które Zwracają wyniki w milisekundachnawet w zbiorach zawierających duże ilości płyt.
Algolia wyróżnia się tym, że zawiera takie funkcje jak: Wyszukiwanie fasetowe, wyróżnianie dopasowań, tolerancja literówek, synonimy i dostosowywanie trafności za pomocą atrybutów lub reguł. Dzięki temu deweloper może skupić się na doświadczeniu użytkownika, a nie na skomplikowanej inżynierii silnika.
Na przykład w sklepie internetowym można zaoferować funkcję wyszukiwania, dzięki której po wpisaniu hasła „trampki” użytkownik widzi w czasie rzeczywistym odpowiednie produkty, filtrowane według marki, ceny lub rozmiaru. Na platformach content marketingowych łatwo jest wdrożyć filtry według… kategoria, data lub tagitak, aby wyszukiwanie hasła „technologia” można było ograniczyć do artykułów z ostatnich 30 dni. Na portalach pracy wyszukiwanie błyskawiczne może obejmować stanowisko, lokalizacja, przedział wynagrodzenia i inne atrybuty, oferujące bardzo płynne działanie.
Integracja techniczna jest bardzo dostępna dzięki Dobrze udokumentowane interfejsy API i klienci dla wielu języków (JavaScript, PHP, Laravel itp.). Wystarczy przesłać rekordy do odpowiedniego indeksu i użyć SDK w interfejsie użytkownika, aby wykonywać zapytania i wyświetlać wyniki w czasie rzeczywistym.
Elasticsearch i jego ekosystem integracji
Elasticsearch to wyszukiwarka i silnik analityczny oparty na Lucene, zaprojektowany do indeksowania dużych ilości danych i szybkiego wyszukiwania. Jedną z jego największych zalet jest szeroki ekosystem integracji i jego zdolność do adaptacji do danych pochodzących praktycznie z każdego źródła.
Platforma ma ponad 350 integracji między łącznikami danych, klientami językowymi, potokami przetwarzania i narzędziami wizualizacji. Pozwala to na „bycie” blisko swoich danych, czy to w logach, bazach danych, kolejkach zdarzeń, czy plikach, i budowanie indeksy wyszukiwania które są aktualizowane niemal w czasie rzeczywistym.
Za pośrednictwem interfejsów API REST i oficjalnych klientów jest to możliwe wysyłaj dokumenty, aktualizuj indeksy i wykonuj złożone zapytania z filtrami, agregacjami, sortowaniem i niestandardową trafnością. Elasticsearch jest szczególnie popularny w aplikacjach do monitorowania, obserwowalności, rejestrowania i analiz, ale jest również wykorzystywany w aplikacjach internetowych wymagających zaawansowanego wyszukiwania.
Elastyczność tego schematu i możliwości agregacji pozwalają na przykład na: połącz wyszukiwanie pełnotekstowe z metrykami, wykresami i pulpitami nawigacyjnymiWszystko to opiera się na tych samych danych. To sprawia, że jest to interesująca opcja, gdy wyszukiwanie w czasie rzeczywistym jest częścią szerszej platformy analitycznej.
Będąc rozwiązaniem bardziej technicznym niż SaaS typu „plug and play”, zwykle wymaga więcej prac konfiguracyjnych, konserwacyjnych i regulacyjnychAle w zamian oferuje precyzyjną kontrolę nad wskaźnikami, zasobami i kosztami.
Wyszukiwanie w sieci i koszty w czasie rzeczywistym dzięki AI i interfejsom API SERP
Oprócz wyszukiwania w obrębie konkretnej aplikacji coraz częściej pojawia się potrzeba Sprawdź informacje w czasie rzeczywistym w Internecie i połączyć je z modelami sztucznej inteligencji, aby generować aktualne odpowiedzi. Powszechnie stosowanym podejściem jest wykorzystanie interfejsów API, które integrują już wyszukiwanie w sieci i modele językowe.
Praktycznym przykładem jest wykorzystanie Interfejs API Perplexity z modelem SONARUmożliwia to przeszukiwanie witryny i uzyskiwanie odpowiedzi generowanych na podstawie uzyskanych wyników. Tego typu rozwiązanie oferuje dokładność i aktualny kontekst, ale wiąże się z kosztem, który, według cytowanego przypadku, wynosi około 5 dolarów za 1000 połączeń, a w praktyce jest nieco wyższy.
Biorąc pod uwagę ten scenariusz, nasuwają się logiczne pytania: czy jest to możliwe? niższe koszty Czy połączyć interfejsy API stron wyników wyszukiwania (SERP) z modelami takimi jak ChatGPT lub innymi bardziej opłacalnymi modelami LLM?
Teoretycznie tak: możesz użyć Tanie API SERP do pobierania linków a następnie wykorzystać tańszy model sztucznej inteligencji do przetworzenia i podsumowania informacji.
W praktyce jednak łączenie interfejsu API SERP z innym programem LLM często skutkuje wolniejsze i w wielu przypadkach o niższej jakości wynikiPonieważ przepływ pracy obejmuje wiele wywołań, analizę kodu HTML lub dodatkowe wyodrębnianie tekstu, wszystko to może zniweczyć część oszczędności i skomplikować architekturę.
Alternatywami są między innymi specjalne interfejsy API wyszukiwania w sieci, takie jak Interfejs API wyszukiwania internetowego CloudswayInterfejsy API zostały zaprojektowane z myślą o zapewnieniu szybkości, dokładności i skalowalności w kontekście przedsiębiorstwa. Zazwyczaj koncentrują się na jakości wyników i wydajności infrastruktury, co sprawia, że stanowią one łatwą w użyciu podstawę systemów reagowania w czasie rzeczywistym.
Wdrożenie wyszukiwarki w czasie rzeczywistym za pomocą Laravel i JavaScript
Jeśli wolisz zbudować własne rozwiązanie, bardzo powszechnym wzorcem w aplikacjach internetowych jest wdrożenie Wyszukiwarka w czasie rzeczywistym wykorzystująca Laravel w back-endzie i JavaScript w front-endziePomysł jest prosty: użytkownik wpisuje tekst w polu tekstowym, JavaScript wysyła asynchroniczne żądania do serwera, Laravel wysyła zapytanie do bazy danych i zwraca wyniki w formacie JSON, które są wyświetlane bez przeładowywania strony.
Podstawowy przepływ polega na zdefiniowaniu modelu Eloquent reprezentującego tabelę, w której chcesz przeprowadzić wyszukiwanie (na przykład model Kraj powiązany z tabelą krajów), ustanawia trasy HTTP w Laravel w celu obsługi wyszukiwania, tworzy kontroler, który przetwarza żądania AJAX i projektuje widok z danymi wejściowymi wyszukiwania i niezbędnym kodem JavaScript.
W modelu Eloquent często zdarza się, że odchodzisz $strzeżony jak pusta tablica, aby umożliwić zbiorcze przypisywanie i wyłączyć znaczniki czasu, jeśli tabela nie używa kolumn utworzony_at y zaktualizowano_wDzięki temu interakcja z rekordami staje się bardziej bezpośrednia, a użytkownik zawsze ma zapewnione bezpieczeństwo odbieranych danych.
Jeśli chodzi o trasy, typowym podejściem jest zdefiniowanie trasy GET dla Pokaż widok z wyszukiwarką i trasę POST (lub GET z parametrami) do przetworzenia wyszukiwania. Na przykład trasa /poszukiwacz która wskazuje na metodę index kontrolera widoku, a druga na metodę search, która odczytuje przesłany tekst i wysyła zapytanie do bazy danych.
Kontroler wyszukiwania jest odpowiedzialny za sprawdzenie, czy żądanie jest AJAX, wykonując zapytanie w modelu (na przykład, filtrowanie według nazwy za pomocą funkcji LIKE i ograniczanie wyników (do 10 elementów) i zwraca strukturę JSON ze wskaźnikami powodzenia, komunikatem i znalezionymi danymi. To znacznie upraszcza odpowiedź, którą JavaScript klienta będzie przetwarzał.
W widoku (na przykład, witamy.blade.phpTworzy się formularz z polem wyszukiwania i kontenerem na wyniki. Ważne jest, aby dodać meta tag. Token CSRF aby móc tworzyć bezpieczne żądania POST w Laravel i poprawnie konfigurować nagłówki żądania pobrania.
Skrypt JavaScript dodaje nasłuchiwacz zdarzeń w polu wyszukiwania który jest aktywowany przy każdym naciśnięciu klawisza (zdarzenie keyup). W ramach tego modułu obsługi żądanie pobrania jest wysyłane do ścieżki wyszukiwarki, przekazując bieżący tekst w treści żądania i ustawiając nagłówki, takie jak Content-Type, X-Requested-With i token CSRF. Po otrzymaniu odpowiedzi jest ona przekształcana do formatu JSON i generowany jest kod HTML (na przykład lista). z (według wyniku) i jest wstawiany do kontenera wyników.
Dzięki temu wzorowi otrzymasz Lekka wyszukiwarka bez dodatkowych bibliotek, takich jak jQuery, Axios czy VuePomaga to utrzymać dobrą prędkość ładowania, zwłaszcza jeśli korzystasz już z rozbudowanego frameworka stylistycznego, takiego jak Bootstrap. W przypadku małych i średnich projektów to rozwiązanie jest więcej niż wystarczające i łatwe w utrzymaniu.
Wspomagane wyszukiwanie w systemie Android: widok wyszukiwania, intencje i sugestie
W środowisku mobilnym Android oferuje natywne mechanizmy implementacji wyszukiwanie wspomagane w czasie rzeczywistymalbo poprzez pływające okno dialogowe wyszukiwania, albo za pomocą widżetu SearchView, który można umieścić w interfejsie (na przykład na pasku aplikacji lub w układzie).
Okno dialogowe wyszukiwania to zarządzany przez system komponent, który pojawia się na górze ekranu po jego aktywacji przez użytkownika. Android Kontroluje wszystkie zdarzenia W tym oknie dialogowym: przechwyć zapytanie, wyślij sugestie, jeśli zostały skonfigurowane, a po uruchomieniu wyszukiwania wygeneruj intencję z akcją ACTION_SEARCH skierowaną do określonej aktywności wyszukiwania.
Widżet SearchView to widok, który można umieścić w układzie i domyślnie działa jak zwykłe pole tekstowe. Jednak po skonfigurowaniu do współpracy z systemem wyszukiwania Android, może… Deleguj zapytania do aktywności wyszukiwania, wyświetlaj sugestie i zarządzaj wyszukiwaniem głosowym tak jak standardowym oknem dialogowym.
Aby włączyć tę funkcjonalność, należy utworzyć plik Konfiguracja wyszukiwania XML (zwykle searchable.xml w res/xml), w którym zdefiniowano zachowanie pola wyszukiwania: etykiety, tekst pomocy (wskazówka), opcje głosowe, funkcje sugestii itp. Element główny to i co najmniej jeden atrybut android:label musi zostać uwzględniony, najlepiej android:hint.
Następnie deklaracja jest umieszczana w pliku AndroidManifest. aktywność wyszukiwania który odbiera akcję ACTION_SEARCH i jest powiązany z tą konfiguracją za pomocą elementu z android:name="android.app.searchable" i odpowiednim zasobem XML. Ta aktywność będzie odpowiedzialna za odbieranie intencji wyszukiwania, wyodrębnianie zapytania i wyświetlanie wyników.
Gdy użytkownik przeprowadza wyszukiwanie, aktywność wyszukiwania otrzymuje intencję z akcją ACTION_SEARCH i dodatkowym zapytaniem QUERY zawierającym wprowadzony tekst. Następnie programista może… zapytaj lokalną bazę danych, dane zdalne lub dowolne źródło informacjii wyświetlić wyniki w RecyclerView przy użyciu adaptera, takiego jak CursorAdapter, jeśli pracujesz z SQLite.
Wyszukiwanie może działać w bazach danych SQLite przy użyciu Wyszukiwanie pełnotekstowe (FTS3) Aby zwiększyć wydajność i trafność wyników w przypadku dłuższych tekstów lub danych online, zaleca się wyświetlanie wskaźnika postępu podczas oczekiwania na wyniki z sieci.
Okno dialogowe wyszukiwania można głębiej zintegrować z aplikacją: można je skonfigurować tryb uruchamiania singleTop Aby podczas wyszukiwania uniknąć tworzenia wielu wystąpień, gdy użytkownik wykonuje kilka kolejnych wyszukiwań, można przekazać dodatkowe dane kontekstowe za pomocą pakietu APP_DATA, aby doprecyzować wyszukiwanie na podstawie ekranu, z którego zostało uruchomione.
Widżet SearchView umożliwia również dostosowanie wielu aspektów: dodanie wyraźny przycisk wysyłania (zamiast polegać wyłącznie na klawiszu Enter), włącz udoskonalenie zapytań z sugestiami (dzięki czemu można wstawiać i edytować sugestie) i przełączaj się między stanem ikonicznym (tylko ikona) a w pełni widocznym polem wyszukiwania.
W scenariuszach, w których widżet jest umieszczony jako widok akcji na pasku aplikacjiNależy pamiętać, że na małych ekranach może brakować miejsca, a element menu może pojawić się w rozszerzonym menu. W takim przypadku zaleca się aktywację okna wyszukiwania za pomocą `onSearchRequested()` po dotknięciu elementu, łącząc w ten sposób widżet i okno dialogowe w zależności od kontekstu.
Wreszcie Android pozwala na dodawanie wyszukiwanie głosowe Dzięki zintegrowaniu przycisku mikrofonu z oknem dialogowym lub widżetem za pomocą atrybutu android:voiceSearchMode w ustawieniach wyszukiwania, transkrybowane zapytanie jest wysyłane bezpośrednio do aktywności wyszukiwania. Warto jednak ocenić, czy taki przepływ informacji ma pozytywny wpływ na sposób korzystania z aplikacji, ponieważ użytkownik nie ma możliwości zapoznania się z rozpoznanym tekstem przed uruchomieniem wyszukiwania.
Analityka w czasie rzeczywistym do pomiaru wykorzystania wyszukiwania
Wdrożenie wyszukiwania w czasie rzeczywistym to tylko połowa historii; druga połowa to analizować, jak korzystają z niego użytkownicyDostępnych jest wiele narzędzi analitycznych, które dostarczają dane w czasie rzeczywistym lub z bardzo małym opóźnieniem. Mogą one pomóc Ci zrozumieć, czego szukają Twoi użytkownicy, z jakich urządzeń korzystają i w jaki sposób wchodzą w interakcję z wynikami.
Analityka Adobe To zaawansowane rozwiązanie analityczne przeznaczone dla środowisk biznesowych, umożliwiające gromadzenie i analizę danych wielokanałowych: wyświetleń stron, unikalnych użytkowników, zakupów, atrybucji zamówień, lejków konwersji i ścieżek klientów. Integruje się ze stronami internetowymi, wiadomościami e-mail i aplikacjami, umożliwiając tworzenie szczegółowych pulpitów nawigacyjnych i bardzo precyzyjnych segmentacji.
W przypadku projektów poszukujących otwartych rozwiązań, Matomo (dawniej Piwik) oferuje platformę analityki internetowej z otwartym kodem źródłowym i własnym hostingiem, która zbiera dane niesamplingowe: ruch w sieci, e-commerce, cele, zdarzenia i niestandardowe segmenty. To interesująca opcja, gdy chcesz… większa kontrola nad danymi i preferowane są zamknięte rozwiązania SaaS.
Clicky To kolejne narzędzie analityczne, które wyróżnia się skupieniem na czasie rzeczywistym, wyświetlając niemal natychmiast dane takie jak aktywni użytkownicy, wyświetlenia stron i zdarzenia. Może być przydatne do monitorowania korzystania z wyszukiwarki podczas szczytów ruchu lub w trakcie konkretnych kampanii. szybkie wykrywanie problemów istotności lub wydajności.
Ze swojej strony, Pojąć Koncentruje się na prostocie i prywatności, oferując podstawowe wskaźniki, takie jak liczba wyświetleń, liczba unikalnych wyświetleń, średni czas spędzony na stronie, współczynnik odrzuceń, realizacja celu, źródło ruchu, kraj, urządzenie i przeglądarka, z wyraźnym naciskiem na ochronę danych. Może to być bardzo istotne, jeśli chcesz… przestrzegać przepisów dotyczących prywatności bez rezygnowania z ogólnego zarysu sposobu korzystania z wyszukiwarki.
Prywatność, personalizacja i aktywność w sieci i aplikacjach
Funkcje wyszukiwania w czasie rzeczywistym coraz częściej opierają się na dane dotyczące zachowań użytkowników Aby spersonalizować wyniki: historię wyszukiwania, odwiedzone strony, poprzednie interakcje itp. W ekosystemie Google jednym z kluczowych elementów są ustawienia Aktywności w internecie i aplikacjach, powiązane z kontem użytkownika.
Po włączeniu ta opcja zapisuje wykonane wyszukiwania i aktywność w innych usługach GooglePozwala to na bardziej spersonalizowane doświadczenia, takie jak szybsze i trafniejsze wyniki wyszukiwania, bardziej przydatne aplikacje i trafne rekomendacje treści. Sygnały te służą do wnioskowania o zainteresowaniach i ulepszania produktów, a także wykrywania oszustw i nadużyć.
Użytkownik może Wyłącz to ustawienie lub usuń historyczną aktywność Historię swojej aktywności możesz przeglądać w dowolnym momencie w sekcji Kontrola aktywności na swoim koncie lub w sekcji Moja aktywność. Możesz również wymagać dodatkowej weryfikacji, aby wyświetlić pełną historię, zwiększając w ten sposób bezpieczeństwo przechowywanych informacji.
Jeśli korzystasz z przeglądarki takiej jak Chrome, możesz również uwzględnić historię przeglądania i aktywność na stronach i w aplikacjach korzystających z usług Google, a także aktywność głosową i dźwiękową. Wszystko to może stać się sygnałami, które pozwolą... dalsza personalizacja wyników wyszukiwaniazarówno wtedy, gdy użytkownik jest połączony, jak i, w pewnych przypadkach, podczas przeglądania stron w trybie offline.
Należy również pamiętać, że historia przeglądarki (niezależnie od Google) może zapisywać wyszukiwania i odwiedzane witryny, a także że można korzystać z trybów przeglądania prywatnego, takich jak [wstaw tutaj tryb przeglądania prywatnego]. tryb incognito Aby zapobiec lokalnemu rejestrowaniu tej aktywności. Z perspektywy dewelopera ważne jest, aby transparentnie informować o tym, jakie dane są gromadzone i jak są wykorzystywane, a także zapewnić jasne opcje zgody i kontroli.
W kontekście korporacyjnym lub edukacyjnym niektóre funkcjonalności związane z aktywnością w sieci i aplikacjach mogą być zależne od ustawienia administratora z konta Google organizacji, które określa stopień dostępnego dostosowania i sposób, w jaki dane te można zintegrować z wewnętrznymi aplikacjami.
Projektując systemy wyszukiwania w czasie rzeczywistym, uwzględnienie wszystkich tych implikacji dla prywatności jest kluczowe, zarówno ze względów prawnych, jak i dla zaufania użytkowników. Dobra równowaga między personalizacja i poszanowanie prywatności Może mieć to wpływ na przyjęcie i postrzeganie aplikacji.
Obecny krajobraz wyszukiwania w czasie rzeczywistym w aplikacjach internetowych łączy w sobie wydajne silniki, integracje ze sztuczną inteligencją, struktury takie jak Laravel, natywne narzędzia Androida, narzędzia analityczne oraz powiązane ze sobą warstwy prywatności i personalizacji. Wybór odpowiedniej architektury — niezależnie od tego, czy będzie to rozwiązanie typu Algolia lub Elasticsearch, niestandardowa wyszukiwarka oparta na platformie Laravel i JavaScript, czy też głęboka integracja z systemem wyszukiwania Android — wymaga oceny ilości danych, budżetu i wymagań dotyczących prywatności.Przemyślany projekt umożliwi szybkie, trafne i bezpieczne wyszukiwanie, zgodne z obecnymi oczekiwaniami użytkowników.
Spis treści
- Na czym polega wyszukiwanie w czasie rzeczywistym w aplikacjach internetowych i dlaczego jest takie ważne?
- Ekosystem wyszukiwarek i usług wyszukiwania w czasie rzeczywistym
- Elasticsearch i jego ekosystem integracji
- Wyszukiwanie w sieci i koszty w czasie rzeczywistym dzięki AI i interfejsom API SERP
- Wdrożenie wyszukiwarki w czasie rzeczywistym za pomocą Laravel i JavaScript
- Wspomagane wyszukiwanie w systemie Android: widok wyszukiwania, intencje i sugestie
- Analityka w czasie rzeczywistym do pomiaru wykorzystania wyszukiwania
- Prywatność, personalizacja i aktywność w sieci i aplikacjach