3.6 KiB
Silniki wyszukiwarek
Obecnie najbardziej popularne są dwa silniki wyszukiwarek: Solr ( https://solr.apache.org/ ) i Elasticsearch ( https://www.elastic.co/ ).
Na tych ćwiczeniach omówimy silnik Solr.
Jeżeli chcą Państwo wejść w temat wyszukiwarek głębiej niż na zajęciach, polecam dobrą, darmową książkę: https://www.manning.com/books/relevant-search#toc . Opiera się on na Elastisearch, ale nie stanowi to większego problemu.
Schematy budowy aplikacji-wyszukiwarki
Zadanie na zajęcia
Na zajęciach proszę zrobić tutorial https://solr.apache.org/guide/8_8/solr-tutorial.html
Proszę szczególnie zwrócić uwagę na schema i na to, w jaki sposób tworzy się nowe pola z istniejących.
W razie problemów z limitami ilości otwartych plików na proces:
https://www.akitogo.com/blog/raising-limits-on-ubuntu-1604-and-1804-for-solr-7
W razię wątpliwości proszę zadawać pytania na zajęciach.
Zadanie domowe (maksymalnie 160 punktów)
Proszę stworzyć wyszukiwarkę dla wybranej kolekcji dokumentów (innej niż przykładowe w Solr).
Warunki konieczne do zaliczenia zadania
- użycie gotowego silnika wyszukiwarki (np. Solr lub Elasticsearch)
- zaindeksowanie co najmniej 40 tys. dokumentów
- zaimplementowanie frontendu w postaci aplikacji webowej. Użytkownik nie ma korzystać z panelu admina. Aplikacja webowa może być napisana w dowolnym języku/frameworku.
- dokumenty powinny stanowić sensowną, rzeczywistą kolekcję. Proszę nie losować dokumentów, powielać, itp.
Punktacja
- wersja podstawowa: 60 punktów
- interesujący (np. niedostępny w Google’u) zbiór dokumentów: +20 punktów
- zaawansowane przetwarzanie językowe tekstu: +20 punktów
- zaznaczanie słów kluczowych (highlighting): +10 punktów
- zaawansowane opcje sortowania: +10 punktów
- zaawansowane opcje filtrowania: +10 punktów
- zindeksowanie > 0,5 mln dokumentów: +20 punktów, > 5 mln - +40 punktów
- wizualizacja (wykres, mapa): +20 punktów
- użycie ciekawej funkcji niewymienionej wyżej: +20 punktów
- za oddanie do 21.04 - +10 punktów
- maksimum do zdobycia z tego zadania: 160 punktów
Zaliczenie
- termin zaliczenia to 21.04 lub 28.04 (na zajęciach)
- proszę zaznaczyć w MS TEAMS, że Państwo zrobili zadanie w assigments
- zdawanie zadania będzie na zajęciach. Proszę przygotować prezentację do 5 minut