aitech-eks-pub/cw/04_wyszukiwarki.ipynb
2021-04-07 12:35:40 +02:00

104 lines
3.6 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
"cells": [
{
"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 wuszukiwarki (np. Solr lub Elastisearch)\n",
" * zaindeksowanie conajmniej 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",
" * maksimum do zdobycia z tego zadania: 160 punktów\n",
" \n",
"## Zaliczenie\n",
" * termin zaliczenia to 20.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"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"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.9.1"
}
},
"nbformat": 4,
"nbformat_minor": 4
}