1

date_histogram api を使用して、間隔 (時間/日/週または月) を使用して実際のカウントを取得しています。また、実装に問題がある機能があります。ユーザーは、フィールドのタイムスタンプを使用してクエリされる startDate と endDate (テキスト ボックス) を入力することで、結果をフィルター処理できます。では、date_histogram api または任意の api を使用して、1 つのフィールド (TIMESTAMP) のみをクエリして結果をフィルタリングし、希望の結果を得るにはどうすればよいでしょうか。

SQL では、結果を取得するために between 演算子を使用するだけですが、これまで読んだことから、Elastic Search では BETWEEN 演算子ではありません (よくわかりません)。

これまでのところ、このスクリプトがあります:

curl 'http://anotherdomain.com:9200/myindex/_search?pretty=true' -d '{
               "query" : { 
                  "filtered" : { 
                     "filter" : { 
                        "exists" : { 
                           "field" : "adid" 
                        } 
                     }, 
                     "query" : { 
                        "query_string" : {
                          "fields" : [
                            "adid", "imp"
                            ],
                            "query" : "525826 AND true"
                        }
                     }

                  } 
               },
               "facets" : {
                  "histo1":{
                    "date_histogram":{
                      "field":"timestamp",
                      "interval":"day"
                    }
                  }
                } 
            }'
4

1 に答える 1

2

Elasticsearch では、フィルターの範囲クエリを使用してそれを実現できます。

于 2012-11-19T11:10:46.940 に答える