2017-08-26 86 views
3

我有有效的JSON格式的查詢這kibana或感覺,當我使用GET request.I我也能創建使用XContentBuilder此查詢的工作很好,但我需要發送這使用JSON格式查詢ElasticSearch。是否有可能存儲在一個JSON文件查詢和使用該JSON文件查詢ElasticSearch。查詢ElasticSearch使用通過Java API一個JSON文件

我的查詢 -

{ 
    "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查詢直接發送到彈性搜索。 –

相關問題