当我尝试索引数据然后进行查询时,一切都很好,但如果我启动我的应用程序并将在没有索引的情况下进行查询之前我得到了该错误
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)
Run Code Online (Sandbox Code Playgroud)
这是我的弹性搜索的代码和设置
// 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; …Run Code Online (Sandbox Code Playgroud) 我有清单
Gson gson = new Gson();
List<String> exampleList = new ArrayList<String>();
exampleList.add("aaa");
exampleList.add("bbb");
exampleList.add("ccc");
JsonObject jsonObject = new JsonObject();
jsonObject.addProperty("test", gson.toJson(exampleList));
Run Code Online (Sandbox Code Playgroud)
而jsonObject是{"test":"[\"aaa \",\"bbb \",\"ccc \"]"}
但我需要得到以下{"test":["aaa","bbb","ccc"]}
这样做的方法是什么?
replaceAll在几个方面都没有解决这个问题