Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Elasticsearch - Arama Filtreleme ve Veri Analizi

Elasticsearch - Arama Filtreleme ve Veri Analizi

Haydar Külekci

May 17, 2016
Tweet

More Decks by Haydar Külekci

Other Decks in Technology

Transcript

  1. GET twitter_for_search/tweet/_search { "query": { "match": { "text": { "query":

    "onsuz" } } } } Arama (Query) ✤ “Bu sorgu cümlesi ile en iyi eşleşen dökümanlar hangileridir?” sorusunu cevaplar. ✤ Dökümanlar için bir _score hesaplanır ve buna göre sıralanabilir.
  2. Filtreleme (Query) ✤ “Bu döküman bu sorgu cümlesi ile eşleşiyor

    mu?” sorusunu cevaplar. Cevap basittir. Evet/Hayır. ✤ Dökümanlar için bir _score hesaplanmaz. GET twitter_for_search/tweet/_search { "filter": { "term": { "text": "onsuz" } } }
  3. Full text sorgular ✤ `match` sorgusu ✤ `query_string` sorgusu GET

    twitter_for_search/tweet/_search { "query": { "match": { "text": { "query": "onsuz" } } }} GET twitter_for_search/tweet/_search { "query": { "query_string": { "default_field": "text", "query": "onsuz AND olmuyor" } } }
  4. Term seviyesinde sorgular ✤ `term` sorgusu ✤ `terms` sorgusu ✤

    `exists` sorgusu ✤ `fuzzy` sorgusu GET twitter_for_search/tweet/_search { "filter": { "terms": { "text": [ "onsuz", "olmuyor" ] } } }
  5. Compound sorgular ✤ `bool` sorgusu ✤ `and, or, not` sorgusu

    ✤ … ✤ `function_score` sorgusu ✤ `constant_score` sorgusu ✤ `boosting` sorgusu GET twitter_for_search/tweet/_search { "filter": { "and": { "filters": [ { "term": { "text": "onsuz" } }, { "term": { "text": "olmuyor" } } ] } } } https://www.elastic.co/guide/en/elasticsearch/reference/current/geo-queries.html
  6. Aggregations ✤ Arama sonuçlarınızdan toplu bir veri elde etmenizi sağlar

    ✤ Bucket Aggregation ✤ Verileriniz sadece birleştirir ve bunlar üzerinden bilgi sunar. (Missing, Filter, Children, Terms, Date Histogram, Date Range, …) ✤ Metrics Aggregation ✤ Verileriniz üzerinde hesaplama yapar ve sonuçlarını sunar. (Avg, Cardinality, Extended Stats, Stats, Sum, Top Hits, …) ✤ Pipeline Aggregation ✤ Başka bir aggregation sonucundaki veriler üzerinde işlem yapar ya da verileri toplar. (Avg Bucket, Derivative, …)
  7. Teşekkürler ✤ Blog : http://elasticsearch.kulekci.net ✤ Twitter : http://twitter.com/kulekci ✤

    Github : http://github.com/hkulekci ✤ Geri Bildirim Formu : http://bit.ly/esfeedback