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

ResHighLevelClient与散装处理器弹性搜索问题

方璞
2023-03-14

早些时候,我在我的应用程序中使用TransportClient。最近转向AWS管理弹性搜索服务。了解到AWS管理的ES群集不支持TransportClient。

因此,将代码迁移到使用BulkProcessort将文档插入ES的地方。当我重构代码作为ES留档的一部分时,我添加了这一行。

BulkProcessor bulkProcessor = BulkProcessor.builder(client::bulkAsync, listener).build(); 

我在client::bulkAsync上得到一个错误,说client不是功能接口。

需要帮助理解我做错了什么。

文件链接供参考,

https://www.elastic.co/guide/en/elasticsearch/client/java-rest/master/java-rest-high-document-bulk.html#java-rest-high-document-bulk-processor

共有1个答案

束俊材
2023-03-14

客户端对象的类型是什么?它必须是一个RestHighLevelClient实例。

下面是一个工作代码:https://github.com/dadoonet/legacy-search/blob/02-bulk/src/main/java/fr/pilato/demo/legacysearch/dao/ElasticsearchDao.java

 类似资料:
  • 很抱歉,但是ES的文档(http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/index.html)让我感到困惑。 多亏了术语表,我理解了数据库、表和行的术语,但我阅读了文档的大部分部分,但我找不到答案: 为什么需要在索引创建中添加和?我确实在这里查看了http://www.elasticsearch.org/g

  • 我在研究弹性搜索查询。我不能理解这个问题: 我读过这篇文章,但不清楚:http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/query-dsl-term-query.html 1-第二个“term”是什么? 2-boost的用法是什么? 3-如何使用一个或多个term进行查询: 名为“title”的字段必须包含:

  • 基数聚合计算不同值的近似计数。但是,为什么即使对于存储在单个碎片中的索引,它也显示不正确的值呢?

  • 我使用ElasticSearch对数据库进行索引。我试图使用edgeNGram标记器切割字符串,以射出要求“新字符串必须长于4个字符”的字符串。我使用以下代码创建索引: 现在我运行test来查看结果 并得到结果

  • 我有以下弹性搜索查询只有一个术语过滤器。我的问题要复杂得多,但我只是想在这里展示这个问题。 当我将一个连字符的值传递给过滤器时,返回的结果为零。但如果我尝试不使用未被忽略的值,我会得到结果。我不确定连字符在这里是否是一个问题,但我的场景让我相信这一点。 有没有办法跳过连字符,这样过滤器就会返回结果?我曾试图用反斜杠来逃避连字符,这是我从Lucene论坛上读到的,但没有用。 此外,如果我将GUID值

  • 我试着遵循这里列出的Nutch+ES指南 https://gist.github.com/xrstf/b48a970098a8e76943b9 https://qbox.io/blog/scring-the-web-wit-nutch-for-elasticsearch 然而,我无法让他们的组合工作。基本上,我在Nutch上执行了以下命令: 现在,我想将获取的数据索引到ES中,我按照指南进行了操作