Wpis z mikrobloga

@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.
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?
@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?
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 search


to jest chyba jedna z bardziej corowych rzeczy w elasticsearchu, bez zrozumienia której trudno coś w nim zrobić. chyba że masz na myśli coś innego niż dodawanie dokumentów do aktualnego indeksu i związany z tym refresh indeksu.

Co do rozproszonego przetwarzania danych - to po co Ci ono, jeśli na jednym
@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 szybki
@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).