2017-08-26 10 views
3

GETリクエストを使用するときには、kibanaまたはSenseで有効な有効なJSON形式のクエリがあります.XContentBuilderを使用してこのクエリを作成することもできますが、そのJSONフォームをElasticSearchにそのまま使用してクエリを実行します。このJSONファイルを使用して、クエリをJSONファイルに保存し、ElasticSearchにクエリを送信することは可能ですか?JSONファイルを使用したJAVA APIを使用したElasticSearchのクエリ

マイクエリ -

{ 
    "min_score":5, 
    "sort" : [ 
    { 
     "_geo_distance" : { 
     "location" : [40.715, -73.988], 
     "order" : "asc", 
     "unit" : "km", 
     "mode" : "min", 
     "distance_type" : "arc" 
     } 
    } 
    ], 
    "query": { 
    "bool": { 
     "must": { 
     "query_string": { 
      "query": "hospital", 
      "analyzer": "english" 
     } 
     }, 
     "filter": { 
     "geo_distance": { 
      "distance": "50000km", 
      "location": { 
      "lat": 40.715, 
      "lon": -73.988 
      } 
     } 
     } 
    } 
    } 
} 

私が欲しいものは、JSONファイルでこのクエリを保存し、クエリビルダを使用せず、直接検索リクエストを送信するには、このJSONファイルを使用することです。

+0

これは公式ES APIではうまくサポートされていません。https://discuss.elastic.co/t/search-elasticsearch-with-java-client-using-json-query/74329 – MartinSchulze

+1

それ以前のバージョンは、現在のバージョンのESではサポートしていません。 –

答えて

1

検索テンプレートを使用して、このテンプレートをクラスタ状態に保存できます(official documentation about search templatesを参照)。特に登録済みのテンプレートについては、

+0

ええ、検索テンプレートを使用してこのjsonクエリを弾性検索に直接送ることができます。 –

関連する問題