Čtvrtek, 28 listopadu, 2024

Google Programmable Search Engine: vytvorte si vyhľadávač s vlastnými pravidlami

Sdílet

Úvod

Google Programmable Search Engine (a.k.a. Google custom search) je platforma vytvorená spoločnosťou Google a je dostupná od 23. Októbra 2006. [1] Google Custom Search Engine umožňuje vytvoriť vyhľadávací nástroj, fungujúci na princípe Google Search, pre webové stránky alebo blogy a je napísaný v jazyku C++. [2]

Nástroj sa dá nakonfigurovať na vyhľadávanie webových stránok a aj obrázkov. Taktiež sa dá doladiť poradie, prispôsobiť vzhľad a dojem z výsledkov. Tento nástroj je možné aj monetizovat pomocou služby Google AdSense. Tento nástroj sa dá využiť dvoma spôsobmi. Prvý spôsob je nástroj ktorý prehľadáva obsah na jednej webovej stránke a druhý spôsob je prehľadávanie zamerané na určitú tému z viacerých webových stránok. Tieto webové stránky si administrátor môže nastaviť, čiže vyhľadávač bude vedieť ktoré stránky má uprednostniť a ktoré ignorovať.

Vytvorenie search enginu

Najjednoduchšia možnosť tvorby Google Custom Search Enginu je pomocou Control Panelu kde užívateľ môže spravovať nastavenia alebo si môže stiahnuť XML súbor s konfiguráciou vytvoreného enginu a následne tento súbor môže viac kustomizovať podľa vlastných potrieb. Kroky pre vytvorenie základného enginu pomocou control panelu sú:

  1. Prihlásenie sa do Control panelu pomocou google účtu
  2. Následne do políčka “Sites to search“ je za potreby vyplniť všetky stránky, ktoré treba zahrnúť v Google Custom Search Engine. Je možné vyplniť hlavné stránky, podstránky alebo sa dá využiť aj URL patterns [3]
  3. Vybranie jazyku a názovu enginu
  4. Create
Vytvorenie Google custom search enginu
Obrázok 1: Vytvorenie Google custom search enginu [zdroj obrázku: 4]

Po vytvorení je možné Google Custom Search Engine použiť troma spôsobmi. Prvý je využitie pomocou verejnej URL adresy ktoré je možné získať z Control panelu. Druhý spôsob využitia je priama integrácia na webové stránky pomocou JavaScript kódu, ktorý sa automaticky vygeneruje. Tretí spôsob je integrácia pomocou REST API.

Príklad verejnej URL a po vyhľadaní slova “FIS” na stránke www.vse.cz dostaneme následovné výsledky:

Obrázok 2: Výsledky vyhľadávania slová „FIS“ pomocou vytvoreného search enginu [zdroj obrázku: 4]

Príklad JavaScriptu je:

<script async src="https://cse.google.com/cse.js?cx=2bc1bef2d87c95489"></script>
<div class="gcse-search"></div> 

ktorý treba vložiť do html tagu <body> svojej stránky.

Kustomizácia search boxu na webovej stránke

Dve základné možnosti kustomizácie sú dvoj stĺpcoví layout a dvoj stránkový layout. Dvoj stĺpcový layout zobrazí search bar a aj výsledky na rovnakej stránke. Tento layout dosiahneme nasledovným html kódom:

<div style="border: 1px solid blue;">
    Area 1 (for example a sidebar)
    <div class="gcse-searchbox"></div>
</div>

<div style="border: 1px solid red;">
    Area 2 (for example main area of the page)
    <div class="gcse-searchresults"></div>
</div>

Dvoj stránkový layout zobrází výsledky na novej stránke. Tento layout dosiahneme nasledujúcim kódom:

<script async src="https://cse.google.com/cse.js?cx=YOUR_ENGINE_ID"></script>
<div class="gcse-searchbox-only" data-resultsUrl="YOUR_RESULTS_PAGE_URL"></div>

Ďalšia možnosť je získlať výsledky priamo bez search baru a to za pomoci url arugmentov, kde do q argumentu vložíme vyhľadávanú frázu (query) a znova do html pridáme nasledujúci html tagy:

<script async src="https://cse.google.com/cse.js?cx=YOUR_ENGINE_ID"></script>
<div class="gcse-searchresults-only"></div> 

Ďalšie možnosti kustomizácie je napríklad zmena farby pozadia, farby písma, fond písma, pridanie loga, zmena farby vyhladadávača, zmena farby tlačítka potvrdenia vyhľadávania a takisto sa dá zmeniť farba písma, pozadia, url a náhľadú pre výsledky a pre reklamy. Všetky tieto zmeny sa dajú urobiť v Control Panely pod záložkou “Look and feel”. Následne stačí kliknúť na “Save & Get Code” a znova sa automaticky vygeneruje html tag s príslušnými zmenami.

Obrázok 3: Kustomizácia farieb [zdroj obrázku: 4]

Kustomizácia search enginu

Kustomizovať Google Custom Search Engine sa taktiež dá priamo v Control panely pod záložkou “Search features”. Prvá možná kustomizácie je pridanie reklám, kde si administrator môže nastaviť pri akom query by mala reklama vyskočiť (dajú sa použiť aj regulárne výrazy), aký je nadpis, url, obrázok a popis reklamy. Následne sa dá nastaviť aj začiatok a koniec reklamy.

Obrázok 4: Vytvorenie promotion [zdroj obrázku: 4]

Po nastavení reklami a vyhľadaní nastaveného query sa reklama zobrazí pod reklamou priamo od Googlu.

Obrázok 5: Vytvorené promotion vo výsledkoch vyhľadávania [zdroj obrázku: 4]

Ďalšia kustomizácia je spresnenie vyhľadávania. Pomocou tejto funkcie sa dá nastaviť sub-vyhľadávanie, ktoré obsahuje nastavné slovo alebo dá prioritu výsledkom ktoré toto slovo obsahujú.

Obrázok 6: Nastavenie sub-vyhľadávania [zdroj obrázku: 4]

Následne po ľubovoľnom vyhľadaní sa zobrazí tab s nastaveným názvom (U tohoto príkladu tab s názvom FIS), ktoré zobrazí iba vyfiltrované výsledky. Napríklad keď sa zadá do vyhľadávača query “Den otevřených dveří”, tak nevyflitrované výsledky najprv zobrazia informácie o dni otvorených dverí všetkých fakúlt, ale po vybraní tabu FIS sú zobrazné dni otvorených dverí na fakulte FIS.

Obrázok 7: Výsledky vyhľadávania a sub-vyhľadávania [zdroj obrázku: 4]

Tretia možnosť kustomizácie je autocomplete kde je možné vypnúť/zapnúť autocomplete, vypnúť/zapnúť autocomplete z celého webu alebo pridať/odobrať autocomplete frázy.

Obrázok 8: Nastavenie autocomplete [zdroj obrázku: 4]

Ďalšia možnost kustomizácie sú synonyma, kde je možné nastaviť páry synoným na základe ktorých potom bude Google Custom Search engine vyhľadávať. Po následnom vyhľadaní nám zobrazí výsledky oboch synoným. Napríklad pri nastavení slova “dvere” ku slovu “den otvorenych dveri” nám následne pri vyhľadaní slova dvere nájde výsledok ku frázy “den otvorenych dveri”.

Obrázok 9: Nastavenie synoným [zdroj obrázku: 4]
Obrázok 10: Výsledky vyhľadávania synoným [zdroj obrázku: 4]

Nasledujúca možnosť kustomizácie je radenie výsledkov. Defaultne sú výsledky zoradené podľa relevancie. Tak isto sa dá nastaviť radenie podľa dátumu, PageMaps, rich snippet markup alebo meta tagov.

Taktiež sa dá nastaviť história vyhľadávania (čo dovolí užívateľovi prejsť na stránku s predchádzajúcim vyhľadávaním), zobrazenie štruktúrovaných dát vo výsledkoch a nastavenie default výsledku (výsledok, ktorý sa zobrazí užívateľovi, keď jeho vyhľadávaná fráza nemá žiadne výsledky).

Posledne sa dá nastaviť reštrikcie vyhľadávania, tak ako pre textové vyhľadávanie, tak aj pre vyhľadávanie obrázkov. Možne reštrikcie sú jazyk vyhľadávania, počet výsledkov, nastavenie extra query fráz a filtrovanie podobne vyzerajúcich výsledkov.

Obrázok 11: Nastavenia reštrikcii a radenia [zdroj obrázku: 4]

Všetky tieto nastavenia a reštrikcie sa buď dajú nastaviť priamo v Control panely alebo ručne pomocou mapovacích XML súborov, takzvaných Context súborov. Dokumentácia týchto súborou je tu.

REST API

Google Custom Search API rozhranie umožnuje vývojárom ziskávať výsledky vyhľadávania pomocou REST requestu. Existuje iba jeden end point (metóda GET) a tento end point má URL https://www.googleapis.com/customsearch/v1?parameters. V parametroch je API key (Generovaný na google účet), Google Custom Search engine ID (ID vytvoreného enginu) a search query (vyhľadávaný výraz). Príklad celého requestu:

GET https://www.googleapis.com/customsearch/v1?key=INSERT_YOUR_API_KEY&cx=017576662512468239146:omuauf_lfve&q=lectures

Ak je request správny, tak odpovedou sú response data, s HTTP statusom 200 OK, a dáta sú vo formáte JSON. Tento JSON file obsahuje metadata opisujúce vyhľadavaný výraz, metadata opisujúce použitý Google Custom Search engine a výsledky vyhľadávania. Takisto pre rôzne programovacie jazyky existujú aj knižnice, ktoré ulahčujú používanie tejto API. Tento typ knižníc sa volajá SDK (software development kit).

OfferingStandard Search ElementNon-profit Search ElementCustom Search JSON APICustom Search Site Restricted JSON API
CostFreeFree$5 per thousand queries $5 per thousand queries
AdsYesNoNoNo
Google BrandingOptionalYesNoNo
Daily Query LimitNo Daily LimitNo Daily Limit10,000 queries per dayNo Daily Limit
ImplemetantionClient side JavaScript Client side JavaScript Client side or server side JSON APIClient side or server side JSON API
AvailabilityEveryoneNon-profits onlyEveryoneSite restricted search engines only
Tabuľka 1: Cenník [5]

Z cenníku vidíme, že využitie Google Custom Search API je platená možnosť. Buď je obmedzená na 10,000 queries denne, ale na všetkých stránkach webu, alebo nemá denný limit, ale je obmedzený počet stránok vyhľadávania.

Záver

V tomto reporte bol opísaný Google Custom Search engine, jeho nastavenia a využitie. Tento engine je možné použiť ako standalone search engine, alebo sa dá integrovať na webové stránky, alebo sa dá využiť API rozhranie pre priamy programový prístup pri vývoji aplikácií. Síce je tento engine prístupný už 16 rokov, stále je veľmi využívaný a často sú pridávané nové features.

Zdroje

  1. [online]. [cit. 11.02.2022]. Dostupné z: http://googlepress.blogspot.com/2006/10/power-of-google-search-is-now_23.html
  2. The Stanford University InfoLab [online]. [cit. 11.02.2022]. Dostupné z: http://infolab.stanford.edu/~backrub/google.html
  3. Choose sites to include in your search engine – Programmable Search Engine Help. Google Help [online]. Copyright ©2022 Google [cit. 11.02.2022]. Dostupné z: https://support.google.com/programmable-search/answer/4513886?visit_id=637801793221195005-2668318665&rd=1
  4. [online]. [cit. 11.02.2022]. Dostupné z: https://programmablesearchengine.google.com/cse/all
  5. Overview | Programmable Search Engine | Google Developers. Google Developers [online]. [cit. 11.02.2022]. Dostupné z: https://developers.google.com/custom-search/docs/overview

Číst více

Další články