{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "![Logo 1](https://git.wmi.amu.edu.pl/AITech/Szablon/raw/branch/master/Logotyp_AITech1.jpg)\n", "
\n", "

Ekstrakcja informacji

\n", "

4. Wyszukiwarki [ćwiczenia]

\n", "

Jakub Pokrywka (2021)

\n", "
\n", "\n", "![Logo 2](https://git.wmi.amu.edu.pl/AITech/Szablon/raw/branch/master/Logotyp_AITech2.jpg)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Silniki wyszukiwarek\n", "\n", "Obecnie najbardziej popularne są dwa silniki wyszukiwarek: Solr ( https://solr.apache.org/ ) i Elasticsearch ( https://www.elastic.co/ ). \n", "\n", "Na tych ćwiczeniach omówimy silnik Solr.\n", "\n", "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.\n", "\n", "## Schematy budowy aplikacji-wyszukiwarki\n", "\n", "![](solr1.png)\n", "\n", "![](solr2.png)\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Zadanie na zajęcia\n", "\n", "Na zajęciach proszę zrobić tutorial https://solr.apache.org/guide/8_8/solr-tutorial.html\n", "\n", "Proszę szczególnie zwrócić uwagę na schema i na to, w jaki sposób tworzy się nowe pola z istniejących.\n", "\n", "\n", "W razie problemów z limitami ilości otwartych plików na proces:\n", "\n", "https://www.akitogo.com/blog/raising-limits-on-ubuntu-1604-and-1804-for-solr-7\n", "\n", "\n", "W razię wątpliwości proszę zadawać pytania na zajęciach." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Zadanie domowe (maksymalnie 160 punktów)\n", "\n", "Proszę stworzyć wyszukiwarkę dla wybranej kolekcji dokumentów (innej niż przykładowe w Solr).\n", "\n", "## Warunki konieczne do zaliczenia zadania\n", " \n", " * użycie gotowego silnika wyszukiwarki (np. Solr lub Elasticsearch)\n", " * zaindeksowanie co najmniej 40 tys. dokumentów\n", " * 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.\n", " * dokumenty powinny stanowić sensowną, rzeczywistą kolekcję. Proszę nie losować dokumentów, powielać, itp.\n", " \n", "## Punktacja\n", " * wersja podstawowa: 60 punktów\n", " * interesujący (np. niedostępny w Google’u) zbiór dokumentów: +20 punktów\n", " * zaawansowane przetwarzanie językowe tekstu: +20 punktów\n", " * zaznaczanie słów kluczowych (highlighting): +10 punktów\n", " * zaawansowane opcje sortowania: +10 punktów\n", " * zaawansowane opcje filtrowania: +10 punktów\n", " * zindeksowanie > 0,5 mln dokumentów: +20 punktów, > 5 mln - +40 punktów\n", " * wizualizacja (wykres, mapa): +20 punktów\n", " * użycie ciekawej funkcji niewymienionej wyżej: +20 punktów\n", " * za oddanie do 21.04 - +10 punktów\n", " * maksimum do zdobycia z tego zadania: 160 punktów\n", " \n", "## Zaliczenie\n", " * termin zaliczenia to 21.04 lub 28.04 (na zajęciach)\n", " * proszę zaznaczyć w MS TEAMS, że Państwo zrobili zadanie w assigments\n", " * zdawanie zadania będzie na zajęciach. Proszę przygotować prezentację do 5 minut" ] } ], "metadata": { "author": "Jakub Pokrywka", "email": "kubapok@wmi.amu.edu.pl", "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "lang": "pl", "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.8.3" }, "subtitle": "4.wyszukiwarki[ćwiczenia]", "title": "Ekstrakcja informacji", "year": "2021" }, "nbformat": 4, "nbformat_minor": 4 }