使用JAVA API通过JSON文件查询ElasticSearch

4

我有一个符合有效JSON格式的查询,在使用GET请求时在kibana或Sense中可以正常工作。我还能够使用XContentBuilder创建这个查询,但我需要将其作为JSON形式发送到ElasticSearch。是否有可能将查询存储在JSON文件中,并使用该JSON文件查询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 文件直接发送搜索请求,而不使用 Query Builder。

这在官方的ES API中支持得不太好:https://discuss.elastic.co/t/search-elasticsearch-with-java-client-using-json-query/74329 - MartinSchulze
1
是的,在早期版本中是可以的,但ES的当前版本不支持它。 - Utkarsh Gupta
1个回答

1

是的,搜索模板可用于直接将此JSON查询发送到Elasticsearch。 - Utkarsh Gupta

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接