Dobývání znalostí z databází fulltext Roman Danel Institut ekonomiky a systémů řízení
Co je Full-text Search Vyhledávání textu v souborech (databázích) v co nejkratším čase Soubory musí být na hledání připraveny (indexovány)
Indexace Seznam klíčových termínů Lemnatizace – nalezení kmene slova Derivace – nalezení odvozených tvarů skloňováním a časováním
Pro snížení se používá např. bayesovský algoritmus Problém Nejednoznačnost textu Dvojsmyslnost Falešně pozitivní nález – vyhledání dokumentu, které neodpovídají dotazu Pro snížení se používá např. bayesovský algoritmus
Prostředky pro zlepšení dotazů Klíčová slova Hledání v polích Booleova logika v dotazech (and, not, or) Vyhledávání frází Konkordance ( shoda určitých sledovaných znaků) Blízkost vyhledávání Zástupné znaky („žolíkové“) Regulární výraz – komplikované, ale silné definování dotazu
Sémantika Disciplína zabývající se významem slov a znaků Např. v HTML – tučný text je z pohledu sémantiky významnější než zbytek textu Využití u SEO (roboti a vyhledávači považují např. text v <h1> tagu za důležitý…) Týká se také odkazů na webu
Google bomba Optimalizace pro vyhledávače, často zlomyslná, využívá sémantiku odkazů – Google dříve usuzoval obsah stránky i podle textu odkazu (off-page faktor), poprvé 2001 Google sleduje cca 200 faktorů podle níž řadí výsledky vyhledávání (SERP), nestačí tedy jeden odkaz, navíc musí být odkazy ze stránek s vysokým PageRank Výsledkem je, že Google pak vrací na prvních místech stránku, po zadání negativně zabarveného dotazu Dnes již Google upravil vyhledávací algoritmy.
SERP Search engine result page – stránka výsledků vyhledávání Umístění v SERP vypovídá o kvalitě a optimalizaci webu
GTPR Google Toolbar PageRank – přibližná aproximace PageRanku (ten Google nezveřejňuje z důvodu možného zneužití) Hodnoty 0 až 10 (logaritmicky); hodnota 4 je běžná, 5 větší projektu, 8 má v ČR jen několik webů Jak zjistit – instalace speciální nástrojové lišty (toolbaru) do prohlížeče
GTPR GTPR bývá aktualizován skokově (jednou za 2 až 4 měsíce) Není to podklad pro optimalizaci SEO, pouze pomocná informace
Microsoft SQL Server Full-text je součástí SQL Database Engine Lze vypnout/zapnout Lze doinstalovat
MySQL Fulltext index – pouze pro InnoDB a MyISAM a pouze pro sloupce typu char, varchar nebo Text Součást příkazu CREATE TABLE Od 5.7. podpora fulltextu pro čínštinu Full text vyhledání se spustí použitím MATCH() 3 typy vyhledání (natural language search, boolean search, query expansion search)
MySQL SELECT id, login from forum WHERE txt LIKE ('%MySQL%‘) Chybí vyhledávání s [] (je dle normy) SELECT jmeno, txt from forum WHERE subject LIKE ('%M[Sy]SQL%')
MySQL SELECT * FROM tabulka WHERE MATCH(sloupec1,sloupec2,sloupec3) AGAINST('slovo') Je case insensitive SELECT *, MATCH(sloupec1,sloupec2,sloupec3) AGAINST('slovo') AS score FROM tabulka
MySQL SELECT * FROM tabulka WHERE MATCH(sloupec1,sloupec2,sloupec3) AGAINST('+slovo -neco' IN BOOLEAN MODE) BOOLEAN MODE – není třeba mít vytvořený fulltext index, ale je pomalejší
MySQL SELECT * FROM tabulka WHERE MATCH(sloupec1,sloupec2,sloupec3) AGAINST('+banan ~jablko' IN BOOLEAN MODE) Vybere řádky obsahující banán a jablko, avšak řádky, kde se nachází i jablko, budou mít nižší skóre.
Elastic Search Fulltextový vyhledávač Apache Lucene Zdarma, licence Apache RESTful rozhraní (JSON, HTTP) Vyvíjený v Javě, webové rozhraní Data v reálném čase, možnost škálování http://www.elasticsearch.org Využívá GitHub, SoundCloud atd.
Elastic HQ – nástroj pro práci s ElasticSearch napsaný v JavaScriptu http://www.elastichq.org/app/index.php Doplněk Chrome Postman http://www.elasticsearchtutorial.com/elasticsearch-in-5-minutes.html
Apache Lucene Open-source full-textová knihovna napsaná v Javě Neobsahuje HTML parsing
Sphinx Open source fulltext engine http://www.sphinkssearch.com ODBC, pro MySQL, MariaDB a PostgreSQL nativní přístup API pro PHP, Java, Perl, Ruby a Python
ELK: ElasticSearch – Logstash - Kibana Logstash - Nástroj pro zpracování eventů a logů Kibana - Front-end klient https://www.youtube.com/watch?v=Kqs7UcCJquM
Další nástroje Atomz - fulltextový vyhledávač, neumí diakritiku ConText CZ/SK http://www.sefira.cz/fulltext