gpt4 book ai didi

java - 在 Java Elasticsearch SearchRequestBuilder 中找不到方法execute()

转载 作者:行者123 更新时间:2023-11-30 08:03:24 24 4
gpt4 key购买 nike

我正在使用 Dropwizard 框架开发 Java 中的 REST Web 服务。有些资源只会在 Elasticsearch 索引中搜索数据。这就是我遇到一个奇怪的问题的地方。

使用 org.elasticsearch.action.search 中的 SearchRequestBuilder 时,我无法执行搜索请求。这是因为 execute() 方法不“可用”,正如 NetBeans (8.0.2) 通过找不到符号告诉我的那样。请参阅此示例:

SearchResponse response = client.prepareSearch("books")
.setTypes("book")
.setQuery(QueryBuilders.termQuery("year", 2015))
.setFrom(0).setSize(60)
.execute() // !!
.actionGet();

NetBean 的消息:

cannot find symbol
  symbol: method execute()
  location: class SearchRequestBuilder

我可以在 Elasticsearch 上执行索引 client.prepareUpdate() 并获取 client.prepareGet() 请求(客户端的类型为 org.elasticsearch.client。 Client),因此它的配置和设置正确,并且依赖项工作正常。然而,当涉及到上述搜索请求时,我无法执行该请求,因为显然 NetBeans 无法解析方法 execute()

我从来没有经历过这样的行为,所以我很无能。有什么想法是错误的吗?或者建议我如何以不同的方式在 Elasticsearch 上执行搜索查询?

我正在使用 dropwizard-core-0.8.1、dropwizard-elasticsearch-0.8.0-1、elasticsearch-1.6.0。

最佳答案

结果是 NetBeans 编辑器问题。不知何故,编辑器没有获得对 SearchRequestBuilder 的类/包和 Javadoc 的正确引用,因此导致项目无法正确构建。

解决方案:删除 NetBeans 的缓存。

您可以通过转至NetBeans > 关于 NetBeans 并查找参数缓存目录来查看 NetBeans 保存缓存的位置。只需重命名或删除该目录并重新启动 NetBeans。编辑器现在获得了 execute() 的正确方法定义。

关于java - 在 Java Elasticsearch SearchRequestBuilder 中找不到方法execute(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31540282/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com