wyszukiwarki

This commit is contained in:
Jakub Pokrywka 2022-04-05 14:16:49 +02:00
parent f4e46c4588
commit b3627d8506

117
cw/04_wyszukiwarki.ipynb Normal file
View File

@ -0,0 +1,117 @@
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"![Logo 1](https://git.wmi.amu.edu.pl/AITech/Szablon/raw/branch/master/Logotyp_AITech1.jpg)\n",
"<div class=\"alert alert-block alert-info\">\n",
"<h1> Ekstrakcja informacji </h1>\n",
"<h2> 4. <i>Wyszukiwarki</i> [ćwiczenia]</h2> \n",
"<h3> Jakub Pokrywka (2022)</h3>\n",
"</div>\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 Googleu) 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 20.04 lub 27.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
}