Elasticsearch
Author
Albert FloresElasticsearch je v informatice název fulltextového vyhledávače vycházejícího z Apache Lucene. Disponuje RESTful rozhraním a nabízí vysokou dostupnost, rychlost a škálovatelnost. Je vyvíjený v Javě a komunikovat s ním lze pomocí webového rozhraní. Je šířen zdarma pod licencí Apache.
Klíčové vlastnosti
Data v reálném čase
Hlavním rysem Elasticsearch je jeho rychlost, díky tomu je možné například na webových stránkách používat filtry a výsledky vyhledávání se zobrazují prakticky okamžitě.
Distribuovaný systém
Elasticsearch lze snadno škálovat dle toho, jak se zvyšuje zatížení serveru, na němž běží. Pokud výkon serveru nestačí, stačí přidat další server. +more Takto vzniklý cluster pak rozloží data optimálně mezi vzniklé uzly.
Vysoká dostupnost
Pokud některý z uzlů clusteru vykazuje chybu, Elasticsearch jej detekuje a vyřadí z provozu. Data pak rozdělí mezi zbylé uzly tak, aby byla zajištěna co nejvyšší dostupnost a data zůstala v bezpečí.
Fulltextové vyhledávání
Elasticsearch využívá k vyhledávání Apache Lucene, což je patrně nejvýkonnější fulltextové vyhledávání dostupné v rámci open source software. Vyhledávání nabízí podporu více jazyků, vyhledávání na základě geografické polohy, vyhledávání podobných nebo příbuzných záznamů, vyhledávání ve stylu „měli jste na mysli“. +more Lze jej také využít k inteligentnímu automatickému doplňování formulářů na webu.
RESTful API
Elastic využívá API - téměř každá akce může být provedena pomocí dokumentu ve formátu JSON, který je zasílán přes HTTP. Pro mnoho programovacích jazyků také existují knihovny zjednodušující práci s Elasticsearch.
Elasticsearch je vyvíjen společně s enginem pro sběr a analýzu dat s názvem Logstash, analytickou a vizualizační platformou s názvem Kibana a se sbírkou zjednodušených datových přepravců Beats.
Způsob uložení dat
Elasticsearch je bezschémovou databází. Není proto třeba definovat strukturu databáze, protože ta se vytvoří sama na základě vložených dat.
Komunikace s Elasticsearch
Komunikace probíhá přes HTTP - například mazání probíhá pomocí HTTP metody DELETE. Požadavky i odpovědi se zasílají ve formátu JSON. +more Díky tomu je možné Elasticsearch využívat v jakémkoli programovacím jazyce.
Nástroje usnadňující práci s Elasticsearch
Důležitým nástrojem, který umožňuje snadné prohledávání dat, je Elastic HQ. Dostupný je na adrese https://web. +morearchive. org/web/20140810235654/http://www. elastichq. org/app/index. php a celý je napsaný v JavaScriptu. Běží tedy kompletně ve webovém prohlížeči a přitom jej není třeba instalovat. Stačí zadat adresu, na které je Elasticsearch dostupný, a hned je možné prozkoumávat cluster včetně jednotlivých uzlů.
Dalším nástrojem, který může usnadnit práci s Elasticsearch, je doplněk pro prohlížeč Chrome Postman. Ten umožňuje zasílat HTTP požadavky, vybírat druh požadavku (POST, GET atd. +more), podporuje zvýrazňování syntaxe textu ve formátu JSON a umožňuje procházet historii zaslaných dotazů.
Příklady použití
# Vytvoření indexu $ curl -XPUT '
# Přidání dokumentu $ curl -XPUT '
"post_date"
: "2009-11-15T14:12:12", "message"
: "trying out Elastic Search" } }'
# Získání dokumentu dle jeho id $ curl -XGET '
# Vyhledání dokumentu $ curl -XGET '
'
Použití
Elasticsearch využívají například následující servery: GitHub, Foursquare, SoundCloud nebo StackOverflow.
Externí odkazy
https://www.elastic.co/ - oficiální stránky * http://www.zdrojak.cz/clanky/elasticsearch-vyhledavame-cesky/ * https://www.ludekvesely.cz/serial-elasticsearch-uvod/
* http://joelabrahamsson.com/elasticsearch-101/ * http://exploringelasticsearch.com/ * http://www.javacodegeeks.com/2013/04/getting-started-with-elasticsearch.html
Kategorie:Software v Javě Kategorie:Firmy kotované na burze New York Stock Exchange