Elasticsearch
Elastic search
Czym jest Elastic search ?
Do czego służy :
Jak zainstalować ?
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
sudo sh -c 'echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" > /etc/apt/sources.list.d/elastic-7.x.list'
sudo apt-get update
sudo apt-get install elasticsearch
- następnie należy ją uruchomić za pomocą komendy i aby automatycznie uruchomiała się przy starcie
sudo service elasticsearch start
sudo systemctl enable elasticsearch
Przykład prostego użycia
Przyjmijmy, że chcemy stworzyć indeks dla dokumentów reprezentujących książki. Każda książka będzie miała tytuł, autora i rok wydania. w bashucurl -X PUT "localhost:9200/books" -H 'Content-Type: application/json' -d ' { "mappings": { "properties": { "title": { "type": "text" }, "author": { "type": "keyword" }, "year": { "type": "integer" } } } }'
curl -X POST "localhost:9200/books/_doc/1" -H 'Content-Type: application/json' -d ' { "title": "Władca Pierścieni", "author": "J.R.R. Tolkien", "year": 1954 }'
curl -X GET "localhost:9200/books/_search" -H 'Content-Type: application/json' -d ' { "query": { "match_phrase": { "author": "J.R.R. Tolkien" } } }
Zalety Elasticsearcha:
Pełno tekstowe Wyszukiwanie: Elasticsearch zapewnia potężne pełno tekstowe wyszukiwanie, co oznacza, że możesz przeszukiwać duże ilości danych, a wyniki są zwracane w czasie rzeczywistym. Jest to szczególnie przydatne w przypadku aplikacji, które wymagają szybkiego dostępu do informacji.
Rozproszone Przetwarzanie: Elasticsearch jest projektowane do pracy w środowisku rozproszonym, co umożliwia łatwe skalowanie w poziomie. Możesz dodawać nowe węzły, aby obsługiwać większe obciążenie, co sprawia, że jest elastyczne i skalowalne.
Wszechstronne Zastosowania: Elasticsearch nie jest ograniczone do jednego rodzaju zastosowania. Jest używane w różnych dziedzinach, takich jak analiza logów, monitorowanie, analiza biznesowa, wyszukiwanie pełno tekstowe w aplikacjach internetowych, rekomendacje, a także w przypadku aplikacji opartych na czasie rzeczywistym.
Analiza Danych: Elasticsearch oferuje różnorodne możliwości analizy danych, w tym agregacje, filtry, sortowanie, a także wsparcie dla zapytań geoprzestrzennych. Możesz uzyskiwać cenne informacje z danych, zarówno w czasie rzeczywistym, jak i w retrospektywie.
Elastyczna Struktura Danych: Elasticsearch jest oparte na schemacie JSON, co oznacza, że nie musisz z góry definiować struktury danych. Możesz indeksować dane w formacie JSON, a Elasticsearch dynamicznie tworzy mapowanie do indeksu.
Otwarty Kod źródłowy: Elasticsearch jest projektem open-source, co oznacza, że możesz dowolnie dostosowywać i dostosowywać do swoich potrzeb. Społeczność open-source aktywnie wspiera rozwój i utrzymanie projektu.
Integracja z Innymi Narzędziami: Elasticsearch jest często używane wraz z innymi narzędziami z rodziny Elastic Stack, takimi jak Kibana (do wizualizacji danych), Logstash (do przetwarzania logów) i Beats (do zbierania danych). Integracja ta zapewnia kompleksowe rozwiązanie do analizy i wizualizacji danych.
Wsparcie dla Języka Zapytań: Elasticsearch obsługuje różnorodne języki zapytań, takie jak Lucene Query Language, Query DSL, co umożliwia programistom dostosowanie zapytań do swoich konkretnych potrzeb.
Wysoka Wydajność: Elasticsearch zostało zaprojektowane z myślą o wydajności i efektywności. Dzięki indeksacji odwróconej, której używa, umożliwia bardzo szybkie wyszukiwanie nawet w przypadku dużych zbiorów danych.
Wsparcie Społeczności i Dokumentacja: Posiada rozwiniętą społeczność użytkowników oraz obszerną dokumentację, co ułatwia rozwiązywanie problemów i korzystanie z systemu.
Te zalety sprawiają, że Elasticsearch jest popularnym wyborem dla wielu organizacji, które potrzebują potężnego silnika wyszukiwania i analizy danych.
Komentarze
Prześlij komentarz