当前位置: 首页 > 面试题库 >

elasticsearch失败,错误为“无法执行阶段[query_fetch],所有分片均失败”

唐兴发
2023-03-14
问题内容

当我尝试为数据建立索引然后进行查询时,一切都很好,但是如果我启动我的应用程序并且在不进行索引的情况下进行查询,那么我会收到该错误

Exception in thread "main" org.elasticsearch.action.search.SearchPhaseExecutionException: Failed to execute phase [query_fetch], all shards failed at org.elasticsearch.action.search.type.TransportSearchTypeAction$BaseAsyncAction.onFirstPhaseResult(TransportSearchTypeAction.java:272)
    at org.elasticsearch.action.search.type.TransportSearchTypeAction$BaseAsyncAction$3.onFailure(TransportSearchTypeAction.java:224)
    at org.elasticsearch.search.action.SearchServiceTransportAction.sendExecuteFetch(SearchServiceTransportAction.java:307)
    at org.elasticsearch.action.search.type.TransportSearchQueryAndFetchAction$AsyncAction.sendExecuteFirstPhase(TransportSearchQueryAndFetchAction.java:71)
    at org.elasticsearch.action.search.type.TransportSearchTypeAction$BaseAsyncAction.performFirstPhase(TransportSearchTypeAction.java:216)
    at org.elasticsearch.action.search.type.TransportSearchTypeAction$BaseAsyncAction.performFirstPhase(TransportSearchTypeAction.java:203)
    at org.elasticsearch.action.search.type.TransportSearchTypeAction$BaseAsyncAction$2.run(TransportSearchTypeAction.java:186)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:745)

这是我的elasticsearch代码和设置

    //  settings
    ImmutableSettings.Builder settings = ImmutableSettings.settingsBuilder();
    settings.put("client.transport.sniff", false);
    settings.put("path.home", "/path/to/elastic/home");
    settings.put("index.number_of_replicas", 0);
    settings.put("index.number_of_shards", 1);
    settings.put("action.write_consistency", "one");

    settings.build();
    // creating of node and client
    NodeBuilder nb = new NodeBuilder().settings(settings).local(true).data(true);
    Node node = nb.node();
    Client client = node.client();


    /*
         for (int i = 0; i <= 15; i++) {
         IndexResponse response = client.prepareIndex("twitter2", "tweet2", String.valueOf(i))
                .setSource(json1)
                .execute()
                .actionGet();
         }
   */

       searchRequestBuilder = client.prepareSearch("twitter2")
            .setTypes("tweet2")
            .setQuery(QueryBuilders.matchQuery("user", "user0"))
            .setQuery(QueryBuilders.matchQuery("message","message1"))
            .setExplain(true)
            .setSearchType(SearchType.DFS_QUERY_AND_FETCH).setSize(200);

        SearchResponse searchRespons = searchRequestBuilder.execute().actionGet(); // here is error

我的设置有什么问题?


问题答案:

您可以在添加睡眠10秒后尝试相同的方法吗

Client client = node.client();

我觉得Elasticsearch在您找到搜索请求之前还没有恢复碎片。甚至管理员呼叫“等待黄色”也应该为您工作



 类似资料:
  • 鉴于以下情况: 检查我的和versions是否正确: 不确定我的< code>brew安装的< code>mvn是否有问题,我将其移除并下载了< code>mvn-...来自Apache的bin.zip然后我设置了我的路径,验证了< code>mvn -version和< code>java -version输出的是相同的版本。但是,我仍然有同样的问题。 我查看了前3个(来自搜索)StackOve

  • 我是一名Web开发人员,我第一次构建React Native应用程序。在我添加对推送通知的FCM支持之前,该应用程序一直在工作和编译。 我遵循React Native FCM的所有说明,使用CocoaPods。 现在,by内置xCode失败,出现以下错误: 我的AppDelegate文件如下所示: 我的PodFile是这样的: 有人遇到过这样的问题吗?我甚至无法理解是什么导致了它(因为错误消息不是

  • 错误:任务执行失败 ': app:使用合并Java Res For Debug转换资源'。 com.android.build.api.transform.TransformException:com.android.builder.packaging.DuplicateFileException: APK META-INF/LICENSE File1中复制的重复文件: C:\用户Jithin-P

  • 我只是想继续我的应用程序,而我得到了这个编译错误,我不知道它是从哪里开始的: 这是我的分级文件:

  • 当我想声明这个程序时,它没有声明这个代码没有报告任何报告 我不知道那是问题 我想在solr索引中使用此过程,但此过程不执行 当我将分隔符更改为@@时,会出现此错误 错误1064 (42000):你有一个错误在你的SQL语法;检查手册,对应于你的MySQL服务器版本的正确语法使用附近的'默认NULL;声明stateORds varchar(255)默认NULL;在第4行mysql声明叶猫