16

インデックスを作成したいくつかのイベントのヒストグラムを取得しようとしていますが、応答には「ファセット結果」のみが必要で、検索 + ファセット結果は必要ありません。

これは私が実行しているクエリの例です:

curl -XGET 'http://localhost:9200/main/events/_search?pretty=true' -d '
{
   "facets" : {
    "histo1" : {
       "query" : {
            "query_string" : {"query":"*:*"}
        },
         "date_histogram" : {
            "field" : "time",
            "interval" : "minute"
        }
    }
  }
}
'

その結果、私はちょうど

"facets" : {
"histo1" : {
  "_type" : "date_histogram",
  "entries" : [ {
    "time" : 1337700000,
    "count" : 76
  } ]
}

一部、クエリに一致したすべてのドキュメントは含まれません。

これは可能ですか?

どうもありがとう。

4

1 に答える 1

28

countsearch_typeを使用できます。

curl -XGET 'http://localhost:9200/main/events/_search?search_type=count&pretty=true' -d '
{
  "facets" : {
    "histo1" : {
       "query" : {
            "query_string" : {"query":"*:*"}
        },
         "date_histogram" : {
            "field" : "time",
            "interval" : "minute"
        }
    }
  }
}
' 

または、クエリに設定"size":0することもできますが、効率が低下します。

curl -XGET 'http://localhost:9200/main/events/_search?pretty=true' -d '
{
  "facets" : {
    "histo1" : {
       "query" : {
            "query_string" : {"query":"*:*"}
        },
         "date_histogram" : {
            "field" : "time",
            "interval" : "minute"
        }
    }
  },
  "size":0
}
'
于 2012-05-23T12:30:25.187 に答える