ElasticSearch 6高级休息客户端preparePutMapping

时间:2018-01-04 17:35:05

标签: elasticsearch elasticsearch-5

我正在尝试从ElasticSearch 2转换到5或6.我认为我想直接跳到6.1.1并使用RestHighLevelClient,因为它比我使用的现有传输客户端更接近等级休息客户。

但是,我正在遇到问题作为集成测试的一部分,我正在创建索引并插入特定数据,因此我知道我的查询是正确的。我似乎无法在高级客户端中这样做。特别是,我希望能够致电:

  RestHighLevelClient client = new RestHighLevelClient(RestClient.builder(new HttpHost(host, port)))
  client.indices()
        .preparePutMapping(databaseName)
        .setType(tableName).etc....

但是,client.indices()返回没有preparePutMapping()的org.elasticsearch.client.IndicesClient(来自org.elasticsearch.client:elasticsearch-rest-high-level-client:6.1.1)。我需要一个org.elasticsearch.client.IndicesAdminClient(来自org.elasticsearch:elasticsearch:6.1.1)。我无法从RestHighLevelClient或RestClient中弄清楚如何获得它。

我运气不好吗?这只是过渡性的痛苦还没有实现吗?或者更永久的东西?

1 个答案:

答案 0 :(得分:0)

查看documentation

client.admin().indices()
      .preparePutMapping(databaseName)   
      .setType(tableName)
      ...

看起来你需要的只是一个额外的.admin()