allegro.tech Data Science Meetup #2:
Elasticsearch w ekosystemie Allegro
Andrzej Wisowski, Pawe Bobruk
Wystpienie z meetupu:
http://www.meetup.com/allegrotech/events/226484033
1 of 61
Downloaded 14 times
More Related Content
allegro.tech Data Science Meetup #2: Elasticsearch w praktyce
13. Wyszukiwanie informacji
Wyszukiwanie informacji (information
retrivial) jest pozyskaniem istotnych dla
szukaja岬cego informacji (zazwyczaj
dokumentow) z ze zbioru danych
informatycznych (zazwyczaj
niestrukturalnych).
14. Odwr坦cony indeks
Dokument - element, na ktorym budujemy
system
(np. produkt w sklepie, strona internetowa)
Term - element indeksu, zazwyczaj
pojedyncze sowo zestaw termow tworzy
sownik indeksu
15. Wyszukiwanie penotekstowe
Term Doc_1 Doc_2 Doc_3
------------------------------------
brown | X | X |
dog | X | |
dogs | | X | X
fox | X | | X
foxes | | X |
in | | X |
jumped | X | | X
lazy | X | X |
leap | | X |
over | X | X | X
quick | X | X | X
summer | | X |
the | X | | X
------------------------------------
Odwr坦cony index
Doc_1: The quick brown fox jumped over the lazy dog
Doc_2: Quick brown foxes leap over lazy dogs in summer
Doc_3: The quick fox jumped over dogs
17. Analizatory
- Tokenizer
- whitespace - tokeny tylko po biaych znakach
- standard - tokeny po biaych znakach + znakach interpunkcji
- keyword - np. dla marek Hugo Boss
- regexp - wasna definicja
- Token Filter
- lowercase
- stopword
18. Wyszukiwanie penotekstowe
GET /my_index/_search
{
"query" : {
"match" : {
"body" : "brown"
}
}
}
Term Doc_1 Doc_2 Doc_3
------------------------------------
brown | X | X |
dog | X | | X
dogs | | X | X
fox | X | | X
foxes | | X |
in | | X |
jumped | X | | X
lazy | X | X |
leap | | X |
over | X | X | X
quick | X | X | X
summer | | X |
the | X | | X
------------------------------------
Odwr坦cony index
19. Agregacje
Term Doc_1 Doc_2 Doc_3
------------------------------------
brown | X | X |
dog | X | | X
dogs | | X | X
fox | X | | X
foxes | | X |
in | | X |
jumped | X | | X
lazy | X | X |
leap | | X |
over | X | X | X
quick | X | X | X
summer | | X |
the | X | | X
------------------------------------
Odwr坦cony index
GET /my_index/_search
{
"query" : {
"match" : {
"body" : "brown"
}
},
"aggs" : {
"popular_terms": {
"terms" : {
"field" : "body"
}
}
}
}
29. Main Page Motoryzacja Ksi甜ki i Komiksy Komputery Odzie甜, Obuwie,
Dodatki
samsung audi testy lenovo nike
nike bmw historia tablet adidas
galaxy mercedes matematyka office buty
buty opel nauczyciela microsoft air
audi honda ksiga gtx sukienka
47. Rekomendacje
- indeksowane s oferty allegro zawierajce id meta
produktu oraz ranking (score) oznaczajcy jako oferty
{
name: iphone 6, super oferta
offerId: 23,
metaProductId: p12,
score: 0,324
}
- system rekomendacji wybiera meta produkty kt坦re maj
by zarekomendowane u甜ytkownikowi
49. Problemy- optimize
- w Lucene zmiana dokumentu to usunicie i dodanie
nowego
- przy czstych zmianach indeksu, ronie ilo
skasowanych dokument坦w, przy przekroczeniu pewnego
progu - u nas 20% ma to wpyw na czasy odpowiedzi
- dlatego raz na dob wymuszamy optimize indexu
50. Wydajno
- wielko indeksu: 25 mln dokument坦w
- odczyty > 3000 rps
- czasy odpowiedzi : < 500ms (p99)
Skalujemy odczyty przez wiksz liczb replik.
57. Setup cloudowy
prywatny cloud oparty na openstacku
ansible do automatyzacji stawiania klastr坦w (atwe
rozszerzanie)
backupy na hdfsa - rozszerzylimy o autoryzacj kerberos
monitoring oparty na graphite, cabot i pagerduty