Code Monkey home page Code Monkey logo

elasticsearch-workshop's Introduction

Elasticsearch workshop

Spuštění v Dockeru

Možné potíže:

  • max_map_count
    • v Linuxu může vyžadovat nastavení sysctl -w vm.max_map_count=262144
    • Řešení pro WSL2 (Docker Desktop for Windows) wsl -d docker-desktop sysctl -w vm.max_map_count=262144
  • dostatek místa na disku - maximální zaplnění disku na 85%, jinak se postupně automaticky degraduje funkčnost clusteru až do režimu read-only (na 95% zaplnění)
  • dostatek RAM (aspoň 1GB na každý node)
  • pokud narazíte na potíže, zkuste vypnout (CTRL-C) a zase nastartovat docker-compose

Spuštění clusteru (pro > 8GB RAM):

cd elastic-cluster
docker-compose up

Docker-compose obsahuje:

  • 3 uzly clusteru Elasticsearch
  • Kibana
  • Cerebro

Spuštění jednoho nodu (pro <= 8GB RAM):

cd elastic-single
docker-compose up

Docker-compose obsahuje:

  • 1 uzel Elasticsearch
  • Kibana
  • Cerebro

Vytvoření indexu a naplnění dat pomocí HTTP REST API

https://www.ludekvesely.cz/serial-elasticsearch-3-prvni-kroky-ukladani-a-zobrazeni-dat/

  • nastavit např. 1 shard a 1 repliku (tedy celkem bude index uložen na nodech 2x)
  • naplnění indexu daty pomocí HTTP PUT
    • po jednom dokumentu
    • bulk
  • ukázka alokace shardů a replik na nodech clusteru v Cerebru

Vytvoření indexu a naplnění dat importem v Kibaně

  • Ukázkové datasety: Menu - Home - Add data - Sample data
    • Sample eCommerce orders
    • Sample web logs
  • Import dat v CSV, NDJSON: Menu - Home - Upload file
    • Pozor na velikost
    • NDJSON musí mít atributy v klasických úvozovkách

Vyhledávání

https://www.ludekvesely.cz/serial-elasticsearch-4-fulltextove-vyhledavani-v-cestine/

https://www.ludekvesely.cz/serial-elasticsearch-5-pokrocile-fulltextove-vyhledavani/

docker-compose exec es01 bin/elasticsearch-plugin install analysis-icu
docker-compose exec es02 bin/elasticsearch-plugin install analysis-icu
docker-compose exec es03 bin/elasticsearch-plugin install analysis-icu
docker-compose exec es01 mkdir -p config/hunspell/cs_CZ
docker-compose exec es01 curl https://raw.githubusercontent.com/ludekvesely/elasticsearch-cz/master/hunspell/cs_CZ/cs_CZ.aff -o config/hunspell/cs_CZ/cs_CZ.aff
docker-compose exec es01 curl https://raw.githubusercontent.com/ludekvesely/elasticsearch-cz/master/hunspell/cs_CZ/cs_CZ.dic -o config/hunspell/cs_CZ/cs_CZ.dic
docker-compose exec es01 curl https://raw.githubusercontent.com/ludekvesely/elasticsearch-cz/master/hunspell/cs_CZ/settings.yml -o config/hunspell/cs_CZ/settings.yml

docker-compose exec es02 mkdir -p config/hunspell/cs_CZ
docker-compose exec es02 curl https://raw.githubusercontent.com/ludekvesely/elasticsearch-cz/master/hunspell/cs_CZ/cs_CZ.aff -o config/hunspell/cs_CZ/cs_CZ.aff
docker-compose exec es02 curl https://raw.githubusercontent.com/ludekvesely/elasticsearch-cz/master/hunspell/cs_CZ/cs_CZ.dic -o config/hunspell/cs_CZ/cs_CZ.dic
docker-compose exec es02 curl https://raw.githubusercontent.com/ludekvesely/elasticsearch-cz/master/hunspell/cs_CZ/settings.yml -o config/hunspell/cs_CZ/settings.yml

docker-compose exec es03 mkdir -p config/hunspell/cs_CZ
docker-compose exec es03 curl https://raw.githubusercontent.com/ludekvesely/elasticsearch-cz/master/hunspell/cs_CZ/cs_CZ.aff -o config/hunspell/cs_CZ/cs_CZ.aff
docker-compose exec es03 curl https://raw.githubusercontent.com/ludekvesely/elasticsearch-cz/master/hunspell/cs_CZ/cs_CZ.dic -o config/hunspell/cs_CZ/cs_CZ.dic
docker-compose exec es03 curl https://raw.githubusercontent.com/ludekvesely/elasticsearch-cz/master/hunspell/cs_CZ/settings.yml -o config/hunspell/cs_CZ/settings.yml
  • nezapomenout restartovat server(y)
  • princip analyzérů a vyhledávání pomocí nich
  • vytvořit index s nastavenými fulltext analyzéry
  • naplnit data z NDJSON
  • dotaz pro fulltextové vyhledáváná produktů
  • dotaz pro vyhledávání podle ceny
  • analytické dotazy využívající agregace

elasticsearch-workshop's People

Contributors

pavkriz avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.