Elasticsearch

31.Elasticsearch|search API

応答については、次の部分がわかります。 took - Elasticsearchが検索の実行にかかった時間(ミリ秒) timed_out - 検索がタイムアウトしたかどうかを示す _shards - 検索されたシャードの数と検索に成功/失敗したシャードの数を示す hits - 検索結果 hits.t…

30.Elasticsearch|match_phrase/スコアリング

match_phraseで検索をかけた時、何を基準としてスコアリングされるのか、仕事で問われる機会があったので学習。 analyzerの基本 blog.chocolapod.net www.elastic.co medium.com _analyze GET Index名/_analyze { "field": "~Field名~", "text": "~Value~" }…

14.ES|Post Filter

Post Filterとは、検索結果とAggregations(集計結果)の両方に対して、Filterをかける機能。 サンプルクエリ GET /shirts/_search { "query": { "bool": { "filter": { "term": { "brand": "gucci" } …① } } }, "aggs": { "colors": { "terms": { "field": …

13.ES|Aggregations(Bucket/Metrics)

Aggregation 集計する機能。SQLで言うところの、GROUP BY。 sumやmaxといった集約を行える。 集約クエリ(Aggregations)は、BucketとMetricsに分かれる。 「Bucket」…検索結果を指定条件で分類。(例)検索結果を期間ごとにグループ化するなど。 「Metrics…

12.ES|scroll_search API

Elasticsearchでの検索時、オプションに何も指定しなければ10件までしか取得されない。 オプションでsizeを指定すると件数を増やせるが、最大でも10,000件までとなる。 10,000件を超えるデータを取得する際は、scroll_search APIで何回かに分けて取得するこ…

11.ES|Nested Query

「Nested Query」とは、「Nested データ型」という配列構造を持ったオブジェクトを取得する為のクエリのこと。 「Nested データ型」は、「Object データ型」の中の特殊な型。 サンプルクエリ GET /drivers/_search { "query" : { "nested" : { "path" : "dri…

10.ES|Bool Query

概要 Elasticsearch 2.0からANDクエリとORクエリが非推奨となり、代わりにBoolクエリが推奨となった。 Boolクエリは複数クエリの組合せ(AND・OR・NOTの結合)に使う。 「must」…ANDとして使う。小クエリは総合スコアに影響を与える。 「filter」…mustと同じ…