我在弹性搜索上运行了以下查询
curl -X GET "http://localhost:9200/games_201403031340/_search?pretty=true" -d '{ "query" : { "field" : { "title": "ca" } } }'
结果我收到了这个错误
"error" : "SearchPhaseExecutionException[Failed to execute phase [query],all shards Failed; shardFailures {[znmo0cd5Q3S2_ymuDANqKw][games_201403031340][1]: SearchParseException[[games_201403031340][1]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\n \"query\" : {\n \"field\" : { \"title\": \"ca\" }\n }\n}]]]; nested: QueryParsingException[[games_201403031340] No query registered for [field]]; }{[znmo0cd5Q3S2_ymuDANqKw][games_201403031340][2]: SearchParseException[[games_201403031340][2]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\n \"query\" : {\n \"field\" : { \"title\": \"ca\" }\n }\n}]]]; nested: QueryParsingException[[games_201403031340] No query registered for [field]]; }{[znmo0cd5Q3S2_ymuDANqKw][games_201403031340][0]: SearchParseException[[games_201403031340][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\n \"query\" : {\n \"field\" : { \"title\": \"ca\" }\n }\n}]]]; nested: QueryParsingException[[games_201403031340] No query registered for [field]]; }{[znmo0cd5Q3S2_ymuDANqKw][games_201403031340][4]: SearchParseException[[games_201403031340][4]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\n \"query\" : {\n \"field\" : { \"title\": \"ca\" }\n }\n}]]]; nested: QueryParsingException[[games_201403031340] No query registered for [field]]; }{[znmo0cd5Q3S2_ymuDANqKw][games_201403031340][3]: SearchParseException[[games_201403031340][3]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\n \"query\" : {\n \"field\" : { \"title\": \"ca\" }\n }\n}]]]; nested: QueryParsingException[[games_201403031340] No query registered for [field]]; }]","status" : 400 }
这也是在我的弹性日志
[2014-03-03 14:19:15,008][DEBUG][action.search.type ] [Susan Storm] [games_201403031340][1],node[znmo0cd5Q3S2_ymuDANqKw],[P],s[STARTED]: Failed to execute [org.elasticsearch.action.search.SearchRequest@f799344] lastShard [true] org.elasticsearch.search.SearchParseException: [games_201403031340][1]: from[-1],size[-1]: Parse Failure [Failed to parse source [{ "query" : { "field" : { "title": "ca" } } }]] at org.elasticsearch.search.SearchService.parseSource(SearchService.java:586) at org.elasticsearch.search.SearchService.createContext(SearchService.java:489) at org.elasticsearch.search.SearchService.createContext(SearchService.java:474) at org.elasticsearch.search.SearchService.createAndPutContext(SearchService.java:467) at org.elasticsearch.search.SearchService.executeQueryPhase(SearchService.java:239) at org.elasticsearch.search.action.SearchServiceTransportAction.sendExecuteQuery(SearchServiceTransportAction.java:202) at org.elasticsearch.action.search.type.TransportSearchQueryThenFetchAction$AsyncAction.sendExecuteFirstPhase(TransportSearchQueryThenFetchAction.java:80) 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$Worker.runTask(ThreadPoolExecutor.java:895) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918) at java.lang.Thread.run(Thread.java:680) Caused by: org.elasticsearch.index.query.QueryParsingException: [games_201403031340] No query registered for [field] at org.elasticsearch.index.query.QueryParseContext.parseInnerQuery(QueryParseContext.java:221) at org.elasticsearch.index.query.IndexQueryParserService.parse(IndexQueryParserService.java:321) at org.elasticsearch.index.query.IndexQueryParserService.parse(IndexQueryParserService.java:260) at org.elasticsearch.search.query.QueryParseElement.parse(QueryParseElement.java:33) at org.elasticsearch.search.SearchService.parseSource(SearchService.java:574) ... 12 more [2014-03-03 14:19:15,008][DEBUG][action.search.type ] [Susan Storm] [games_201403031340][2],s[STARTED]: Failed to execute [org.elasticsearch.action.search.SearchRequest@f799344] lastShard [true] org.elasticsearch.search.SearchParseException: [games_201403031340][2]: from[-1],008][DEBUG][action.search.type ] [Susan Storm] [games_201403031340][4],s[STARTED]: Failed to execute [org.elasticsearch.action.search.SearchRequest@f799344] org.elasticsearch.search.SearchParseException: [games_201403031340][4]: from[-1],009][DEBUG][action.search.type ] [Susan Storm] All shards Failed for phase: [query] [2014-03-03 14:19:15,008][DEBUG][action.search.type ] [Susan Storm] [games_201403031340][0],s[STARTED]: Failed to execute [org.elasticsearch.action.search.SearchRequest@f799344] lastShard [true] org.elasticsearch.search.SearchParseException: [games_201403031340][0]: from[-1],008][DEBUG][action.search.type ] [Susan Storm] [games_201403031340][3],s[STARTED]: Failed to execute [org.elasticsearch.action.search.SearchRequest@f799344] lastShard [true] org.elasticsearch.search.SearchParseException: [games_201403031340][3]: from[-1],size[-1]: Parse Failure [Failed to parse source [{ "query" : { "field" : { "title": "ca" } } }]] at org.elasticsearch.search.SearchService.parseSource(SearchService.java:586) at org.elasticsearch.search.SearchService.createContext(SearchService.java:489) at org.elasticsearch.search.SearchService.createContext(SearchService.java:474) at org.elasticsearch.search.SearchService.createAndPutContext(SearchService.java:467) at org.elasticsearch.search.SearchService.executeQueryPhase(SearchService.java:239) at org.elasticsearch.search.action.SearchServiceTransportAction.sendExecuteQuery(SearchServiceTransportAction.java:202) at org.elasticsearch.action.search.type.TransportSearchQueryThenFetchAction$AsyncAction.sendExecuteFirstPhase(TransportSearchQueryThenFetchAction.java:80) 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$Worker.runTask(ThreadPoolExecutor.java:895) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918) at java.lang.Thread.run(Thread.java:680) Caused by: org.elasticsearch.index.query.QueryParsingException: [games_201403031340] No query registered for [field] at org.elasticsearch.index.query.QueryParseContext.parseInnerQuery(QueryParseContext.java:221) at org.elasticsearch.index.query.IndexQueryParserService.parse(IndexQueryParserService.java:321) at org.elasticsearch.index.query.IndexQueryParserService.parse(IndexQueryParserService.java:260) at org.elasticsearch.search.query.QueryParseElement.parse(QueryParseElement.java:33) at org.elasticsearch.search.SearchService.parseSource(SearchService.java:574) ... 12 more
不知道发生了什么,但我运行的查询没有问题,如…
curl -X POST localhost:9200/games_201403031340/_suggest?pretty=true -d ' { "apple_game" : { "text" : "m","completion" : { "field" : "title" } } }'