Wpis z mikrobloga

#programowanie #programista15k W wielu ofertach pracy na programistę wymagany jest ElasticSearch.
Jaki jest jego najczęstszy use case? Po synchrinizacji danych, do ich wyświetlenia uzywa się elastrichsearch zamiast pytać bazy danych czy coś innego?
  • 10
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@r3solver: Ja najczęściej widziałem implementacje w których tylko dane do wyszukiwania tekstowego były w ES (+ jakieś ID). User szuka w wyszukiwarce interesującego go produktu (wyszukiwarka oczywiście stoi na ES), po kliknięciu w ten produkt dane już normalnie ładują się z bazy. Ewentualnie ELK stack gdzie w ES były trzymane logi.
  • Odpowiedz
@r3solver: Do budowy wyszukiwarek, gdzie użytkownik może wpisać wiele kryteriów. Przy czym ES to strasznie wielka krowa napisana w Javie, która wciągnie każdą ilość RAMu i która potrzebuje niezliczonej liczby komputerów aby ten search działał względnie szybko, a i tak będzie okazjonalnie lagować i nic nie poradzisz. Lepszy jest sonic, meilisearch lub toshi.
  • Odpowiedz
@Krolik: ES jest łatwy do postawienia, ale dosyć trudny, żeby go dobrze skonfigurować. ;)
Jak dobrze skonfigurujesz i dobierzesz zasoby to nie laguje.

@r3solver Są trzy główne use case szukanie, logi i szeroko pojęty monitoring i SIEM.
  • Odpowiedz
sonic, meilisearch lub toshi.


@Krolik: czy są one w stanie zastąpić elasticsearcha? wspierają rozproszone przetwarzanie danych? agregacje np. do facet? czy można konfigurować analizatory tak jak w elasticsearchu? tzn. przetwarzanie morfologiczne, word delimiter, synonimy i inne takie?
  • Odpowiedz
@ly000: mają większość funkcji, ale oczywiście nie wszystkie, bo nie ma dwóch identycznych produktów. Mają też pewne funkcje, których nie ma ES - np. near realtime search czy search-as-you-type. Co do rozproszonego przetwarzania danych - to po co Ci ono, jeśli na jednym serwerze za $5 robią to do czego potrzebujesz klaster ES?
  • Odpowiedz
search-as-you-type.


@Krolik: mówisz o suggesterze? każdy lepszy sklep internetowy ma taki suggester oparty właśnie najczęściej na elastcisearchu.

near realtime
  • Odpowiedz
@r3solver: po prostu narzędzie do klepania crudów, coś jak młotek dla robotnika fizola

W zwykłej bazie SQL trzymasz po dane jak w magazynie, a w elasticu wysyłasz tylko część danych które ci są potrzebne do bardzo szybkiego wyszukiwania i filtrowania, ponieważ przeważnie wyszukiwanie przez skomplikowane zapytania w SQL, mnostwo joinów itd jest wolniejsze. Elastic ma specjalne struktury dzięki którym zapisuje dane w specjalny sposób na dysku co pozwala na bardzo
  • Odpowiedz
@r3solver: Elastic świetnie się sprawdzi jeśli trzeba przetrzymywać dokumenty z dużą ilością tekstu i chcesz je przeszukiwać po frazach/ słowach kluczowych. Elasticsearch to silnik wyszukiwania pełnotekstowego i głównie do tego służy.
U mnie we firmie to główna baza danych. Niestety trzymane są tam też rzeczy, które powinny być raczej w SQL'u ale z jakiegoś powodu nie są (relacyjne db też mamy).
  • Odpowiedz