当前位置: 首页 > 知识库问答 >
问题:

ElasticSearch 6高级Rest客户端preparePutMapping

罗乐意
2023-03-14

我正在尝试从ElasticSearch 2过渡到5或6。我想我想直接跳到6.1.1并使用RestHighLevelClient,因为它比低级rest客户端更接近我正在使用的现有传输客户端。

但是,我遇到了一个问题作为集成测试的一部分,我正在创建html" target="_blank">索引并插入特定数据,因此我知道我的查询是正确的。我似乎无法在High Level客户端中做到这一点。特别是,我希望能够调用:

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

但是,client.indices()返回一个org.elasticsearch.client.的指标客户端(来自org.elasticsearch.client: elasticsearch-rest-high-level-Client: 6.1.1),它没有准备PutMap()。我需要一个org.elasticsearch.client.的指标AdminClient(来自org.elasticsearch: elasticsearch: 6.1.1)。我不知道如何从RestHighLevelClient或RestClient获得它。

我运气不好吗?这是否只是尚未实施的过渡痛苦?还是更持久的?

共有1个答案

南宫阳冰
2023-03-14

查看文档:

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

看起来您只需要一个附加的。admin()

 类似资料:
  • 使用Elasticsearch原生Java客户端API()的应用程序升级到使用Java高级REST客户端的路径是什么? 文件(初步?)似乎表明: Java高级REST客户端依赖于Elasticsearch核心项目。它接受与TransportClient相同的请求参数,并返回相同的响应对象。 (来源:https://www.elastic.co/guide/en/elasticsearch/clie

  • 我得到以下异常,而试图使用Elasticsearch高Rest客户端。 我使用的是Spring Boot 2.0.4和Elasticsearch 6.4版本。。用例只是用一些数据创建一个索引,然后检索相同的数据。。 我刚刚遵循了elasticsearch文档中的依赖项,并正确地进行了设置。 我对Gradle的依赖是 为了简单起见,给出了代码的简短版本。。 有人能帮忙吗?

  • 我正在尝试创建一个类,该类将通过Rest高级客户机自动写入ElasticSearch,并执行操作(create、createBatch、remove、removeBatch、update、updateBatch),这些操作都正常工作,我的测试用例都成功。为了增加一点灵活性,我想实现以下方法:(find、findAll、getFirsts(n)、getLasts(n))。find(key)和find

  • 我对弹性搜索和Spring都不熟悉。我已经编写了一个Javascript POC,它将JSON字符串转换为Elasticsearch查询(并执行请求)。它需要这样的字符串: (注意:此查询可能有任何嵌套级别) ... 并将其转化为: 它首先为第一次访问Elasticsearch创建一个查询(类似于上述),以提取构建此查询所需的一些信息(“链接”)。每次访问Elasticsearch都可能返回数百万

  • 这是我的第一个问题。我必须使用ES rest高级客户端。我的ES服务器是6.8。x、 所以我写了我的构建。gradle文件。 但我的项目依赖性如下所示。 Gradle:org.elasticsearch.client:elasticsearch ch-rest-客户端:7.6.2 Gradle:org.elasticsearch.client:elasticsearch ch-rest-高级别-客

  • 我们试图在查询中使用请求超时,但它似乎不适合我们。 以下是我们在安装过程中所做的工作: 搜索。default\u allow\u partial\u结果:false(在服务器端和客户端上) 在我们命中的每个搜索查询中设置10ms的超时。(客户端) 除此之外,我们还设置了全局超时,如下代码所示: 查询耗时超过8秒,但仍未超时。我们已经禁用了部分结果,希望得到一个超时错误,但我们也没有得到任何错误。