Elasticsearch

Technology
12 hours ago
8
4
2
Avatar
Author
Albert Flores

Elasticsearch 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

5 min read
Share this post:
Like it 8

Leave a Comment

Please, enter your name.
Please, provide a valid email address.
Please, enter your comment.
Enjoy this post? Join Cesko.wiki
Don’t forget to share it
Top