From fc54a5aae56c5b4961173de26550e4d521cd05dd Mon Sep 17 00:00:00 2001 From: Michal Stromko Date: Thu, 29 Apr 2021 19:48:49 +0000 Subject: [PATCH] =?UTF-8?q?Nahr=C3=A1t=20soubory=20do=20=E2=80=9Epages/stu?= =?UTF-8?q?dents/2019/michal=5Fstromko/vp2021/dokumentacia=E2=80=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../vp2021/dokumentacia/Insert_table.sql | 19 ++ .../vp2021/dokumentacia/create_table.sql | 8 + .../vp2021/dokumentacia/documentacion.md | 160 +++++++++++++++++ .../vp2021/dokumentacia/documentation.pdf | Bin 0 -> 231693 bytes .../dokumentacia/documentation_for_pdf.md | 163 ++++++++++++++++++ .../vp2021/dokumentacia/sql_database.sh | 47 +++++ .../vp2021/dokumentacia/sql_database_out.txt | 98 +++++++++++ 7 files changed, 495 insertions(+) create mode 100644 pages/students/2019/michal_stromko/vp2021/dokumentacia/Insert_table.sql create mode 100644 pages/students/2019/michal_stromko/vp2021/dokumentacia/create_table.sql create mode 100644 pages/students/2019/michal_stromko/vp2021/dokumentacia/documentacion.md create mode 100644 pages/students/2019/michal_stromko/vp2021/dokumentacia/documentation.pdf create mode 100644 pages/students/2019/michal_stromko/vp2021/dokumentacia/documentation_for_pdf.md create mode 100644 pages/students/2019/michal_stromko/vp2021/dokumentacia/sql_database.sh create mode 100644 pages/students/2019/michal_stromko/vp2021/dokumentacia/sql_database_out.txt diff --git a/pages/students/2019/michal_stromko/vp2021/dokumentacia/Insert_table.sql b/pages/students/2019/michal_stromko/vp2021/dokumentacia/Insert_table.sql new file mode 100644 index 00000000..c5713c2b --- /dev/null +++ b/pages/students/2019/michal_stromko/vp2021/dokumentacia/Insert_table.sql @@ -0,0 +1,19 @@ +INSERT INTO students + ([StudentId], [Name], [Surname], [Email], [StartStudy], [SubjectName]) +VALUES +(1, N'Martin', N'Wencel',N'martin.wencel@student.tuke.sk',2018, N'bp2021'), +(2,N'Martin', N'Jancura',N'martin.jancura@student.tuke.sk',2017, N'bp2021'), +(3,N'Oleh', N'Bilykh',N'oleh.bilykh@student.tuke.sk',2018, N'bp2021'), +(4,N'Ondrej', N'Megela',N'ondrej.megela@student.tuke.sk',2018, N'bp2021'), +(5,N'Than Trung', N'Thanh',N'than.thanh.tuke.sk',2018, N'bp2021'), +(6,N'Martin', N'NaN1',N'martin.jnan1@student.tuke.sk',2018, N'bp2021'), +(7,N'Dmytro', N'Ushatenko',N'dmytro.ushatenko@student.tuke.sk',2018, N'bp2020'), +(8,N'Patrik', N'Pavlišin',N'patrik.pavlisin@student.tuke.sk',2018, N'bp2020'), +(9,N'Stanislav', N'Matsunych',N'stanislav.matsunych@student.tuke.sk',2018, N'bp2020'), +(10,N'Jakub', N'Maruniak',N'jakub.maruniak@student.tuke.sk',2016, N'bp2019'), +(11,N'Ján', N'Holp',N'jan.holp@student.tuke.sk',2016, N'bp2019'), +(12,N'Dmytro', N'Ushatenko',N'dmytro.ushatenko@student.tuke.sk',2018, N'bp2019'), +(13,N'Lukáš', N'Pokrývka',N'lukas.pokryvka@student.tuke.sk',2016, N'bp2019'), +(14,N'Dominik', N'Nagy',N'dominik.nagy@student.tuke.sk',2016, N'dp2022'), +(15,N'Maroš', N'Haraus',N'maros.haraus@student.tuke.sk',2016, N'dp2020') +GO \ No newline at end of file diff --git a/pages/students/2019/michal_stromko/vp2021/dokumentacia/create_table.sql b/pages/students/2019/michal_stromko/vp2021/dokumentacia/create_table.sql new file mode 100644 index 00000000..e2ffcf91 --- /dev/null +++ b/pages/students/2019/michal_stromko/vp2021/dokumentacia/create_table.sql @@ -0,0 +1,8 @@ +CREATE TABLE students +( + StudentId INT NOT NULL PRIMARY KEY, + Name [NVARCHAR](50) NOT NULL, + Surname [NVARCHAR](50) NOT NULL, + Email [NVARCHAR](50) NOT NULL, + StartStudy INT NOT NULL +) diff --git a/pages/students/2019/michal_stromko/vp2021/dokumentacia/documentacion.md b/pages/students/2019/michal_stromko/vp2021/dokumentacia/documentacion.md new file mode 100644 index 00000000..c27220d8 --- /dev/null +++ b/pages/students/2019/michal_stromko/vp2021/dokumentacia/documentacion.md @@ -0,0 +1,160 @@ + +

+ TECHNICKÁ UNIVERZITA V KOŠICIACH
+ FAKULTA ELEKTRONIKY A INFORMATIKY
+

+



+ +

Klaudové služby pre získavanie informácii

+






+ + +

+ 2021 + + Michal Stromko + +

+
+ +

+## Úvod +       Cieľom mojej práce bolo zistenie fungovania klaudových služieb pre umelú inteligenciu a zistenie fungovania webových vyhľadávačov. V mojej práci som sa hľavne zameral na fungovanie webových vyhľadávačov. + +       V dnešnej dobe vo väčšine webových stránok je vytvorený vyhľadávač obsahu na stránke. Je to impelementované, napríklad pre lepšie vyhľadávania informácií na stránke. Vzniklo to kvôli tomu, pretože veľké množstvo webových stránok na internete má obrovské množstovo informácií.Vyhľadávanie jednej informácie by mohlo tvrať aj desať minút. Takémuto zdĺhavému hľadaniu informácie sa predišlo vytvorením vyhľadávacieho okna na stránke. + +      Boli by sme si pomysleli, že vytvorenie takéhoto vyhľadávača je jednoduché. Žiaľ, to nie je pravda. Za vytvorením takéhoto vyhľadávača môžeme nájsť množnstovo strávených hodín programovania. Treba si aj uvedomiť to, že takéto vyhľadávače fungujú na umelej inteligencii. Umelá inteligencia dokáže rozoznať minimálne jednu informáciu, napr. do vyhľadávača zadáme _"Mobilný telefón"_. Niekdedy bolo vyhľadanie jednej informácie bežné. Technológie v dnešnej dobe postupujú obrovskou rýchlosťou a stáva sa štandardov vahľadávania napr. výraz: _Koľko stojí telefón Xiaomi Mi 11 ?_. Vyhľadávač na stránke nám dokáže odpovedať na takúto otázku a zároveň nám aj ponúkne vložiť tovar do košíka. + +      V mojej práci som sa pokúsil o vytvorenie jednoduchého vyhľadávača na stránke [ZP Wiki](https://zp.kemt.fei.tuke.sk/taxonomy?name=category&val=project). + +
+ + + +## Ciele práce +      Mojou hlavou úlohou pri riešení tejto práce bolo, porozumieť fungovaniu vyhľadávania informácií na stránkach. Popri študovaní ako to funguje som sa pokúsil v prostredí **Microsoft Azure** vytvoriť vyhľadávanie pre stránku **ZP Wiki**. + +Vytvorenie vyhľadávanie zahŕňa: +- vytvorenie nasledujúcich aplikácii: + - Azure Corgnitive Search + - Dakabázu, napr.: + - SQL databases + - Azure Blob storage + - Zdroja informácii (Resouce group) + +- vytvorenie indexu pre skránku +- vytvorenie kontajnera pre ZP Wiki +- Vytvorenie tutoriálov pre lepšie vytváranie vyhľadávania + +

+ + + +## Fungovanie vyhľadávania na stránke + +      Po zadaní do textového poľa pre vyhľadávanie, nasleduje na stránke množstvo oprérácii. Pre správne vyhľadávanie je dôležité, aby vyhľadávač bol schopný v reálnom čase prehľadať stránku a vytvoriť si dátovú štruktúru inak povedané *index*. Vyhľadávače, ktoré majú názov **fulltext** pri vyhľadávaní pooužívajú kľúčové slová, ktoré vyhľadajú v indexe. + +### Princíp vyhľadávania + +Principiálne vyhľadávače používajú len prvé tri kroky: +1. Crawlovanie + - pojem, ktorý zahŕňa vyhľadanie alebo zber informácii (dát), ktoré sa uložia do databázy +2. Indexácia +3. Výsledky vyhľadávania +4. **Crawler** + +#### Crawler + +       Je to jeden z najdôležitejších nástrojov pre prechádzanie súborov webových stránok. Je označovaný za program, ktorý si ukladá dáta, napr. obsah stánok, metadáta (sú to informácie o danej stránke, ako príklad hashe dokumentu, dátumy stiahnutia dokumentu a podobne.) +       Primárnou úlohou Crawlera je ukladanie _Hypertextových odkazov_, ktoré sa nachádzajú na stránkach. Pred uložením takéto odkazu ho otvorí a vyhľadá ďalšie informácie spolu s ďalšími odkazmi. Robí to preto, aby získal čo najviac pravdivých informácii. Firmy ako Microsoft, Google, Apple a ďalšie majú svoje stránky uložené na minimálne tisickach GB, keby sme pustili crawler na takéto stránky, tak by spotreboval obrovské množstvo úložiska na uloženie dát o stránkach. Netreba zabúdať ani na fakt, že vyhľadávanie informácii v takejto databáze by trvalo príliš dlho, možno v desiatkach minút. Keby nastala takáto situácia, úžívateľ prestane používať danú stránku. Preto sa do tohto nástroja zadefinovalo overovanie informácii spolu s vyhodnocovaním či dané dáta majú byť zapísané do databázy. +       Veľakrát nastáva aj situácia, že veľké množstov stránok využíva rovnakú cestu do súboru. Vtedy sa takáto duplikovaná cesta uloží do pamäte iba raz a druhá adresa dostane len informáciu, kde sa nachádza zvyšok cesty do súboru. + + +### Vytváranie indexu + +       Pri vytváraní indexu sa do pamäte zapisujú len najdôležitejšie informácie, ktoré následne slúžia pre rozhodovanie, ktoré stránky budú užívateľovi zobrazené na obrazovke. Takéto informácie sa triedia podľa relevantnosti. + +Všeobecne sú to napr. tieto typy dát: +- typ stránky +- jazyk stránky +- informácie o doméne (napr. či táto stránka je bezpečná) +- spätné odkazy +- holý text (obsahuje slová ktoré sú uložené) + +### Aktualizácia indexu + +       Je dôležitá pre správne fungovanie vyhľadávania, aby boli v databáze uložené aktuálne informácie na danej stránke. +Poznáme 2 typy aktualizácii: +1. Prírastková aktualizácia + - pri aktualizácii indexu sa nové dáta z databázy vyhľadávača pridajú do súčastného indexu. Vzniká tým len problém toho, že je potrebné dáta zoradiť na správne miesto v indexe. +2. Hromadná aktualizácia + - pri tejto metóde sa kontroluje, ktorá nová stránka pribudla v databáze. + - z takýchto dát sa vytvorí nový index, ktorý bude mať menej parametrov. + - k spojenu dvoch indexov teda nového a starého dochádza až počas samostatného vyhľadávania + + + +## Microsoft Azure + +       Pri vypracovávaní môjho zadania som pracoval v prostredí Microsft aplikácie. Táto aplíkácia funguje vo webovom rozhraní. V tejto aplikácii sa dajú vytvárať SQL databázy, Maria DB, Posgre SQL databázy, virtuálne stroje a mnoho dalších aplikácii. Veľkú časť tutoriálov som vytvoril na prácu vo webovom rozhraní. Existuje aj pripojenie na takúto aplikáciu pomocou terminálu v OS založenom na UNIX, aj túto metódu som využíval. + +       Na prihlásenie do tohto portálu som vytvoril tutoriál, ktorý nájdete na nasledujúcom odkaze. [Turoriál na vytvorenie konta na azure portály.](https://git.kemt.fei.tuke.sk/KEMT/zpwiki/src/branch/master/pages/students/2019/michal_stromko/vp2021/tutorials/create_acount_on_azure.md) + + +## Vytvorenie SQL databázy + +       Základom vytvorenia vyhľadávania je vytvorená databáza, ktorá bude udržiavať informácie o indexe. Takúto databázu je možné vytvoriť dvoma spôsobmi. Prvá možnosť vytvorenia databázy je priamo na portály **Microsoft Azure**. Druhá možnosť je pomocou terminálu. + + ### Vytvorenie databázy priamo na portály Microsoft Azure + +       Vytvorenie takejto databázy nie je moc náročné. Stačí mať len zbehlosť v správnom vypĺňaní formulárov. Pri vypracovávaní projektu som využil aj takýto spôsob vytvorenia databázy. Pre jednoduchšie vytvorenie takejto databázy som vytvoril tutoriál. Tento tutoriál nájdete na nasledujúcom odkaze. + +[Návod na vytvorenie databázy](https://git.kemt.fei.tuke.sk/KEMT/zpwiki/src/branch/master/pages/students/2019/michal_stromko/vp2021/tutorials/create_sql_database.md) + + + ### Vytvorenie databázy pomocou terminálu + +       Pre vytvorenie databázy pomocou terminálu je potrebná inštalácia programu, ktorý bude fungovať v terminály. Tento program má názov **Azure CLI**, pripájam link na nainštalovanie datého programu, a následné prihlásenie užívateľa pomocou príkazu do potrálu **Microsoft Azure** + +[Inštalácia Azure CLI](https://docs.microsoft.com/en-us/cli/azure/install-azure-cli) + +       Po nainštalovaní a prihásení som si vytvoril skript s príponou *sh*, do ktorého som napísal príkazy pre vytvorenie databázy. Tento súbor nájdete v prílohe s názvom **sql_database.sh**. Následne som tento skript spustil pomocou príkazu **sh sql_database.sh** + +       Po vykonaní tohto príkazu sa mi ako výstup príkazu zobrazily informácie o vytvorení databázy. Tieto informácie sú napr. Názov sql databázy, adresa servera, kde je databáza spustená, meno užívateľa, ktorý sa môže do nej prihlásiť a ďalšie informácie. Tieto infromácie som si zapísal do súboru **sql_database_out.txt**, ktorý je súčaťou prílohy. + +## Vytvorenie tabuľky v databáze a pridanie hodnôt do tabuľky + +       Pre vytvorenie tabuľky v databáze som si nainštaloval program **Azure Data Studio**, stránku na stiahnutie a naištalovanie programu nájdete na nasledujúcom linku. + +[Inštalácia Azure Data Studio](https://docs.microsoft.com/en-us/sql/azure-data-studio/download-azure-data-studio?view=sql-server-ver15) + +      Po následnej inštalácii sa program spustil a prihlásil som sa do databázy. Neskôr som si vytvoril tabuľku nasledovným príkazom. Tento príkaz nájdete v prílohe **create_table.sql** + + CREATE TABLE students + ( + StudentId INT NOT NULL PRIMARY KEY, + Name [NVARCHAR](50) NOT NULL, + Surname [NVARCHAR](50) NOT NULL, + Email [NVARCHAR](50) NOT NULL, + StartStudy INT NOT NULL, + SubjectName [NVARCHAR](15) NOT NULL + ) + +       Následne som do tejto tabuľky pridal 15 záznamoch o študentoch. Tento skript nájdete v prílohe pod názvom **Insert_table.sql** + +       Neskôr som už len vytvoril select, ktorým som si vyskúšal či sa dané dáta nachádzajú v tabuľke. + + SELECT * FROM studenti; + +## Vytvorenie Azure Cognitive Search + +       Azure Cognitive search je kladudová vyhľadávacia služba, ktorá poskytuje vývojárom API (Aplication Programming Interface) nástroj na jednoduché vytvorenie vyhľadávania na stránke. Rozhranie API a architektúra kognitívneho vyhľadávania zjednodušuje úlohu pri pridávaní sofistikovaného vyhľadávania informácii. + +       Vytvorenie ACS som realizoval pomocou portálu **Microsoft Azure**. Vypĺňanie formulárov je celkom jednoduché, ale má jednu chybu. Ide o chybu spojenú s firmou Microsoft, ktorá pri študenských vytvára preddefinovanú databázu hotelov. Firme ide o to, aby používateľ pri vytvorení databázy dokázal aj vyhľadávať údaje v danej databáze. Na vytvorenie ACS som vytvoril jednoduchý tutoriál, ktorý nájdete v nasledujúcom linku. + +[Vytvorenie ACS](https://git.kemt.fei.tuke.sk/KEMT/zpwiki/src/branch/master/pages/students/2019/michal_stromko/vp2021/tutorials/create_azure_cognitive_search.md) + + +## Vytorennie indexu v ACS + +Index tvorí základnú časť pre vyhľadávanie v ACS. Pri vytváraní indexu, je potrebné mať vytvorenú databázu, do ktorej sa index zapíše. Pokiaľ nemáte takto vytvorenú databázu, tak dokážete vytvoriť index iba na hotely, ktoré sú predefinované pri vytvorení. Vyhľadávanie v indexe a aj práca s ním, napr. napísanie skriptu vyžaduje znalosť používania nástoroja *JSON* Vytvorenie indexu som realizoval na portáli **Microsoft Azure** a vytvoril som aj k tomu tutoriál, ktorý nájdete po kliknutí na nasledujúci link. [Vytvorenie indexu](https://git.kemt.fei.tuke.sk/KEMT/zpwiki/src/branch/master/pages/students/2019/michal_stromko/vp2021/tutorials/create_index.md) \ No newline at end of file diff --git a/pages/students/2019/michal_stromko/vp2021/dokumentacia/documentation.pdf b/pages/students/2019/michal_stromko/vp2021/dokumentacia/documentation.pdf new file mode 100644 index 0000000000000000000000000000000000000000..10e5ced7a23a5af71f7f9d99784f429d9a2a86d1 GIT binary patch literal 231693 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

rAA%J}16GKdU#^_Z~2q@8c*3Rc0 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 + TECHNICKÁ UNIVERZITA V KOŠICIACH
+ FAKULTA ELEKTRONIKY A INFORMATIKY
+ +













+ +

Klaudové služby pre získavanie informácii

+






+










+ +

+ 2021 + + Michal Stromko + +

+
+ +

+## Úvod +       Cieľom mojej práce bolo zistenie fungovania klaudových služieb pre umelú inteligenciu a zistenie fungovania webových vyhľadávačov. V mojej práci som sa hľavne zameral na fungovanie webových vyhľadávačov. + +       V dnešnej dobe vo väčšine webových stránok je vytvorený vyhľadávač obsahu na stránke. Je to impelementované, napríklad pre lepšie vyhľadávania informácií na stránke. Vzniklo to kvôli tomu, pretože veľké množstvo webových stránok na internete má obrovské množstovo informácií.Vyhľadávanie jednej informácie by mohlo tvrať aj desať minút. Takémuto zdĺhavému hľadaniu informácie sa predišlo vytvorením vyhľadávacieho okna na stránke. + +      Boli by sme si pomysleli, že vytvorenie takéhoto vyhľadávača je jednoduché. Žiaľ, to nie je pravda. Za vytvorením takéhoto vyhľadávača môžeme nájsť množnstovo strávených hodín programovania. Treba si aj uvedomiť to, že takéto vyhľadávače fungujú na umelej inteligencii. Umelá inteligencia dokáže rozoznať minimálne jednu informáciu, napr. do vyhľadávača zadáme _"Mobilný telefón"_. Niekdedy bolo vyhľadanie jednej informácie bežné. Technológie v dnešnej dobe postupujú obrovskou rýchlosťou a stáva sa štandardov vahľadávania napr. výraz: _Koľko stojí telefón Xiaomi Mi 11 ?_. Vyhľadávač na stránke nám dokáže odpovedať na takúto otázku a zároveň nám aj ponúkne vložiť tovar do košíka. + +      V mojej práci som sa pokúsil o vytvorenie jednoduchého vyhľadávača na stránke [ZP Wiki](https://zp.kemt.fei.tuke.sk/taxonomy?name=category&val=project). + +
+






+













+ + +## Ciele práce +      Mojou hlavou úlohou pri riešení tejto práce bolo, porozumieť fungovaniu vyhľadávania informácií na stránkach. Popri študovaní ako to funguje som sa pokúsil v prostredí **Microsoft Azure** vytvoriť vyhľadávanie pre stránku **ZP Wiki**. + +Vytvorenie vyhľadávanie zahŕňa: +- vytvorenie nasledujúcich aplikácii: + - Azure Corgnitive Search + - Dakabázu, napr.: + - SQL databases + - Azure Blob storage + - Zdroja informácii (Resouce group) + +- vytvorenie indexu pre skránku +- vytvorenie kontajnera pre ZP Wiki +- Vytvorenie tutoriálov pre lepšie vytváranie vyhľadávania + +

+
+








+













+ + +## Fungovanie vyhľadávania na stránke + +      Po zadaní do textového poľa pre vyhľadávanie, nasleduje na stránke množstvo oprérácii. Pre správne vyhľadávanie je dôležité, aby vyhľadávač bol schopný v reálnom čase prehľadať stránku a vytvoriť si dátovú štruktúru inak povedané *index*. Vyhľadávače, ktoré majú názov **fulltext** pri vyhľadávaní pooužívajú kľúčové slová, ktoré vyhľadajú v indexe. + +### Princíp vyhľadávania + +Principiálne vyhľadávače používajú len prvé tri kroky: +1. Crawlovanie + - pojem, ktorý zahŕňa vyhľadanie alebo zber informácii (dát), ktoré sa uložia do databázy +2. Indexácia +3. Výsledky vyhľadávania +4. **Crawler** + +#### Crawler + +       Je to jeden z najdôležitejších nástrojov pre prechádzanie súborov webových stránok. Je označovaný za program, ktorý si ukladá dáta, napr. obsah stánok, metadáta (sú to informácie o danej stránke, ako príklad hashe dokumentu, dátumy stiahnutia dokumentu a podobne.) +       Primárnou úlohou Crawlera je ukladanie _Hypertextových odkazov_, ktoré sa nachádzajú na stránkach. Pred uložením takéto odkazu ho otvorí a vyhľadá ďalšie informácie spolu s ďalšími odkazmi. Robí to preto, aby získal čo najviac pravdivých informácii. Firmy ako Microsoft, Google, Apple a ďalšie majú svoje stránky uložené na minimálne tisickach GB, keby sme pustili crawler na takéto stránky, tak by spotreboval obrovské množstvo úložiska na uloženie dát o stránkach. Netreba zabúdať ani na fakt, že vyhľadávanie informácii v takejto databáze by trvalo príliš dlho, možno v desiatkach minút. Keby nastala takáto situácia, úžívateľ prestane používať danú stránku. Preto sa do tohto nástroja zadefinovalo overovanie informácii spolu s vyhodnocovaním či dané dáta majú byť zapísané do databázy. +       Veľakrát nastáva aj situácia, že veľké množstov stránok využíva rovnakú cestu do súboru. Vtedy sa takáto duplikovaná cesta uloží do pamäte iba raz a druhá adresa dostane len informáciu, kde sa nachádza zvyšok cesty do súboru. + + +### Vytváranie indexu + +       Pri vytváraní indexu sa do pamäte zapisujú len najdôležitejšie informácie, ktoré následne slúžia pre rozhodovanie, ktoré stránky budú užívateľovi zobrazené na obrazovke. Takéto informácie sa triedia podľa relevantnosti. + +Všeobecne sú to napr. tieto typy dát: +- typ stránky +- jazyk stránky +- informácie o doméne (napr. či táto stránka je bezpečná) +- spätné odkazy +- holý text (obsahuje slová ktoré sú uložené) + +### Aktualizácia indexu + +       Je dôležitá pre správne fungovanie vyhľadávania, aby boli v databáze uložené aktuálne informácie na danej stránke. +Poznáme 2 typy aktualizácii: +1. Prírastková aktualizácia + - pri aktualizácii indexu sa nové dáta z databázy vyhľadávača pridajú do súčastného indexu. Vzniká tým len problém toho, že je potrebné dáta zoradiť na správne miesto v indexe. +2. Hromadná aktualizácia + - pri tejto metóde sa kontroluje, ktorá nová stránka pribudla v databáze. + - z takýchto dát sa vytvorí nový index, ktorý bude mať menej parametrov. + - k spojenu dvoch indexov teda nového a starého dochádza až počas samostatného vyhľadávania + + + +## Microsoft Azure + +       Pri vypracovávaní môjho zadania som pracoval v prostredí Microsft aplikácie. Táto aplíkácia funguje vo webovom rozhraní. V tejto aplikácii sa dajú vytvárať SQL databázy, Maria DB, Posgre SQL databázy, virtuálne stroje a mnoho dalších aplikácii. Veľkú časť tutoriálov som vytvoril na prácu vo webovom rozhraní. Existuje aj pripojenie na takúto aplikáciu pomocou terminálu v OS založenom na UNIX, aj túto metódu som využíval. + +       Na prihlásenie do tohto portálu som vytvoril tutoriál, ktorý nájdete na nasledujúcom odkaze. [Turoriál na vytvorenie konta na azure portály.](https://git.kemt.fei.tuke.sk/KEMT/zpwiki/src/branch/master/pages/students/2019/michal_stromko/vp2021/tutorials/create_acount_on_azure.md) + + +## Vytvorenie SQL databázy + +       Základom vytvorenia vyhľadávania je vytvorená databáza, ktorá bude udržiavať informácie o indexe. Takúto databázu je možné vytvoriť dvoma spôsobmi. Prvá možnosť vytvorenia databázy je priamo na portály **Microsoft Azure**. Druhá možnosť je pomocou terminálu. + + ### Vytvorenie databázy priamo na portály Microsoft Azure + +       Vytvorenie takejto databázy nie je moc náročné. Stačí mať len zbehlosť v správnom vypĺňaní formulárov. Pri vypracovávaní projektu som využil aj takýto spôsob vytvorenia databázy. Pre jednoduchšie vytvorenie takejto databázy som vytvoril tutoriál. Tento tutoriál nájdete na nasledujúcom odkaze. + +[Návod na vytvorenie databázy](https://git.kemt.fei.tuke.sk/KEMT/zpwiki/src/branch/master/pages/students/2019/michal_stromko/vp2021/tutorials/create_sql_database.md) + + + ### Vytvorenie databázy pomocou terminálu + +       Pre vytvorenie databázy pomocou terminálu je potrebná inštalácia programu, ktorý bude fungovať v terminály. Tento program má názov **Azure CLI**, pripájam link na nainštalovanie datého programu, a následné prihlásenie užívateľa pomocou príkazu do potrálu **Microsoft Azure** + +[Inštalácia Azure CLI](https://docs.microsoft.com/en-us/cli/azure/install-azure-cli) + +       Po nainštalovaní a prihásení som si vytvoril skript s príponou *sh*, do ktorého som napísal príkazy pre vytvorenie databázy. Tento súbor nájdete v prílohe s názvom **sql_database.sh**. Následne som tento skript spustil pomocou príkazu **sh sql_database.sh** + +       Po vykonaní tohto príkazu sa mi ako výstup príkazu zobrazily informácie o vytvorení databázy. Tieto informácie sú napr. Názov sql databázy, adresa servera, kde je databáza spustená, meno užívateľa, ktorý sa môže do nej prihlásiť a ďalšie informácie. Tieto infromácie som si zapísal do súboru **sql_database_out.txt**, ktorý je súčaťou prílohy. + +## Vytvorenie tabuľky v databáze a pridanie hodnôt do tabuľky + +       Pre vytvorenie tabuľky v databáze som si nainštaloval program **Azure Data Studio**, stránku na stiahnutie a naištalovanie programu nájdete na nasledujúcom linku. + +[Inštalácia Azure Data Studio](https://docs.microsoft.com/en-us/sql/azure-data-studio/download-azure-data-studio?view=sql-server-ver15) + +      Po následnej inštalácii sa program spustil a prihlásil som sa do databázy. Neskôr som si vytvoril tabuľku nasledovným príkazom. Tento príkaz nájdete v prílohe **create_table.sql** + + CREATE TABLE students + ( + StudentId INT NOT NULL PRIMARY KEY, + Name [NVARCHAR](50) NOT NULL, + Surname [NVARCHAR](50) NOT NULL, + Email [NVARCHAR](50) NOT NULL, + StartStudy INT NOT NULL, + SubjectName [NVARCHAR](15) NOT NULL + ) + +       Následne som do tejto tabuľky pridal 15 záznamoch o študentoch. Tento skript nájdete v prílohe pod názvom **Insert_table.sql** + +       Neskôr som už len vytvoril select, ktorým som si vyskúšal či sa dané dáta nachádzajú v tabuľke. + + SELECT * FROM studenti; + +## Vytvorenie Azure Cognitive Search + +       Azure Cognitive search je kladudová vyhľadávacia služba, ktorá poskytuje vývojárom API (Aplication Programming Interface) nástroj na jednoduché vytvorenie vyhľadávania na stránke. Rozhranie API a architektúra kognitívneho vyhľadávania zjednodušuje úlohu pri pridávaní sofistikovaného vyhľadávania informácii. + +       Vytvorenie ACS som realizoval pomocou portálu **Microsoft Azure**. Vypĺňanie formulárov je celkom jednoduché, ale má jednu chybu. Ide o chybu spojenú s firmou Microsoft, ktorá pri študenských vytvára preddefinovanú databázu hotelov. Firme ide o to, aby používateľ pri vytvorení databázy dokázal aj vyhľadávať údaje v danej databáze. Na vytvorenie ACS som vytvoril jednoduchý tutoriál, ktorý nájdete v nasledujúcom linku. + +[Vytvorenie ACS](https://git.kemt.fei.tuke.sk/KEMT/zpwiki/src/branch/master/pages/students/2019/michal_stromko/vp2021/tutorials/create_azure_cognitive_search.md) + + +## Vytorennie indexu v ACS + +Index tvorí základnú časť pre vyhľadávanie v ACS. Pri vytváraní indexu, je potrebné mať vytvorenú databázu, do ktorej sa index zapíše. Pokiaľ nemáte takto vytvorenú databázu, tak dokážete vytvoriť index iba na hotely, ktoré sú predefinované pri vytvorení. Vyhľadávanie v indexe a aj práca s ním, napr. napísanie skriptu vyžaduje znalosť používania nástoroja *JSON* Vytvorenie indexu som realizoval na portáli **Microsoft Azure** a vytvoril som aj k tomu tutoriál, ktorý nájdete po kliknutí na nasledujúci link. [Vytvorenie indexu](https://git.kemt.fei.tuke.sk/KEMT/zpwiki/src/branch/master/pages/students/2019/michal_stromko/vp2021/tutorials/create_index.md) \ No newline at end of file diff --git a/pages/students/2019/michal_stromko/vp2021/dokumentacia/sql_database.sh b/pages/students/2019/michal_stromko/vp2021/dokumentacia/sql_database.sh new file mode 100644 index 00000000..9e123d8f --- /dev/null +++ b/pages/students/2019/michal_stromko/vp2021/dokumentacia/sql_database.sh @@ -0,0 +1,47 @@ +# Vytvorenie sql databazy + + +# Set the resource group name and location for your server +resourceGroupName=myResourceGroup +location=eastus + +# Set an admin login and password for your database +adminlogin=azureuser +password=Azure1234567! + +# Set a server name that is unique to Azure DNS (.database.windows.net) +serverName=server-$RANDOM + +# Set the ip address range that can access your database +startip=0.0.0.0 +endip=0.0.0.0 + +# Create a resource Group +az group create --name $resourceGroupName --location $location + +# Create a server +az sql server create \ + --name $serverName \ + --resource-group $resourceGroupName \ + --location $location \ + --admin-user $adminlogin \ + --admin-password $password + +# Configure a firewall rule for server +az sql server firewall-rule create \ + --resource-group $resourceGroupName \ + --server $serverName \ + -n AllowYourIp \ + --start-ip-address $startip \ + --end-ip-address $endip + +# Create a single database with Azure CLI +az sql db create \ + --resource-group $resourceGroupName \ + --server $serverName \ + --name mySampleDatabase \ + --sample-name AdventureWorksLT \ + --edition GeneralPurpose \ + --compute-model Serverless \ + --family Gen5 \ + --capacity 2 diff --git a/pages/students/2019/michal_stromko/vp2021/dokumentacia/sql_database_out.txt b/pages/students/2019/michal_stromko/vp2021/dokumentacia/sql_database_out.txt new file mode 100644 index 00000000..1d9ff278 --- /dev/null +++ b/pages/students/2019/michal_stromko/vp2021/dokumentacia/sql_database_out.txt @@ -0,0 +1,98 @@ +{ + "id": "/subscriptions/34363077-8695-4c14-9ae5-dc305fe8e4ef/resourceGroups/myResourceGroup", + "location": "eastus", + "managedBy": null, + "name": "myResourceGroup", + "properties": { + "provisioningState": "Succeeded" + }, + "tags": null, + "type": "Microsoft.Resources/resourceGroups" +} +{\ Finished .. + "administratorLogin": "azureuser", + "administratorLoginPassword": null, + "fullyQualifiedDomainName": "server-22752.database.windows.net", + "id": "/subscriptions/34363077-8695-4c14-9ae5-dc305fe8e4ef/resourceGroups/myResourceGroup/providers/Microsoft.Sql/servers/server-22752", + "identity": null, + "kind": "v12.0", + "location": "eastus", + "minimalTlsVersion": null, + "name": "server-22752", + "privateEndpointConnections": [], + "publicNetworkAccess": "Enabled", + "resourceGroup": "myResourceGroup", + "state": "Ready", + "tags": null, + "type": "Microsoft.Sql/servers", + "version": "12.0" +} +{ + "endIpAddress": "0.0.0.0", + "id": "/subscriptions/34363077-8695-4c14-9ae5-dc305fe8e4ef/resourceGroups/myResourceGroup/providers/Microsoft.Sql/servers/server-22752/firewallRules/AllowYourIp", + "kind": "v12.0", + "location": "East US", + "name": "AllowYourIp", + "resourceGroup": "myResourceGroup", + "startIpAddress": "0.0.0.0", + "type": "Microsoft.Sql/servers/firewallRules" +} +{- Finished .. + "autoPauseDelay": 60, + "backupStorageRedundancy": "Geo", + "catalogCollation": "SQL_Latin1_General_CP1_CI_AS", + "collation": "SQL_Latin1_General_CP1_CI_AS", + "createMode": null, + "creationDate": "2021-04-27T08:23:55.797000+00:00", + "currentServiceObjectiveName": "GP_S_Gen5_2", + "currentSku": { + "capacity": 2, + "family": "Gen5", + "name": "GP_S_Gen5", + "size": null, + "tier": "GeneralPurpose" + }, + "databaseId": "db785b2c-f171-4386-8c89-4056785756d0", + "defaultSecondaryLocation": "westus", + "earliestRestoreDate": null, + "edition": "GeneralPurpose", + "elasticPoolId": null, + "elasticPoolName": null, + "failoverGroupId": null, + "highAvailabilityReplicaCount": null, + "id": "/subscriptions/34363077-8695-4c14-9ae5-dc305fe8e4ef/resourceGroups/myResourceGroup/providers/Microsoft.Sql/servers/server-22752/databases/mySampleDatabase", + "kind": "v12.0,user,vcore,serverless", + "licenseType": null, + "location": "eastus", + "longTermRetentionBackupResourceId": null, + "maintenanceConfigurationId": "/subscriptions/34363077-8695-4c14-9ae5-dc305fe8e4ef/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_Default", + "managedBy": null, + "maxLogSizeBytes": 68719476736, + "maxSizeBytes": 34359738368, + "minCapacity": 0.5, + "name": "mySampleDatabase", + "pausedDate": null, + "readScale": "Disabled", + "recoverableDatabaseId": null, + "recoveryServicesRecoveryPointId": null, + "requestedServiceObjectiveName": "GP_S_Gen5_2", + "resourceGroup": "myResourceGroup", + "restorableDroppedDatabaseId": null, + "restorePointInTime": null, + "resumedDate": null, + "sampleName": null, + "secondaryType": null, + "sku": { + "capacity": 2, + "family": "Gen5", + "name": "GP_S_Gen5", + "size": null, + "tier": "GeneralPurpose" + }, + "sourceDatabaseDeletionDate": null, + "sourceDatabaseId": null, + "status": "Online", + "tags": null, + "type": "Microsoft.Sql/servers/databases", + "zoneRedundant": false +} \ No newline at end of file