2014-03-03 7 views
11

lief ich die folgende Abfrage auf ElasticsearchElasticsearch: SearchPhaseExecutionException/Parse Failure

curl -X GET "http://localhost:9200/games_201403031340/_search?pretty=true" -d '{ 
    "query" : { 
     "field" : { "title": "ca" } 
    } 
}' 

Und ich habe diesen Fehler als Folge

"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 
} 

Dies auch in meinem Elasticsearch log war

[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 [[email protected]] 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], node[znmo0cd5Q3S2_ymuDANqKw], [P], s[STARTED]: Failed to execute [[email protected]] lastShard [true] 
org.elasticsearch.search.SearchParseException: [games_201403031340][2]: 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][4], node[znmo0cd5Q3S2_ymuDANqKw], [P], s[STARTED]: Failed to execute [[email protected]] 
org.elasticsearch.search.SearchParseException: [games_201403031340][4]: 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,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], node[znmo0cd5Q3S2_ymuDANqKw], [P], s[STARTED]: Failed to execute [[email protected]] lastShard [true] 
org.elasticsearch.search.SearchParseException: [games_201403031340][0]: 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][3], node[znmo0cd5Q3S2_ymuDANqKw], [P], s[STARTED]: Failed to execute [[email protected]] 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 

Nicht sicher, was los ist, aber ich habe kein Problem mit einer Abfrage wie ...

curl -X POST localhost:9200/games_201403031340/_suggest?pretty=true -d ' 
{ 
  "apple_game" : { 
    "text" : "m", 
    "completion" : { 
      "field" : "title" 
    } 
  } 
}' 
+1

Stellen Sie sicher, dass Sie die richtige Version des ElasticSearch-Servers verwenden. Ich habe 1.3.2 auf meiner lokalen Umgebung ausgeführt, während mein Kollege 1.4 ausgeführt hat und die ElasticSearch-Abfragegenerierungsklasse oben erstellt wurde der Funktionalität von 1.4 so war mein Absturz – mxlfa

Antwort

2

Sie bekommen einen Fehler, da Elasticsearch nicht weiß, was ein Feld Abfrage: No query registered for [field]]

Wenn Sie versuchen, Dokumente zu finden, wo das Titelfeld ca enthält, könnten Sie dies tun:

+0

Ich bekomme fast den gleichen Fehler 'ElasticsearchIllegalArgumentException [Suggester [Query_string] nicht unterstützt]' – user2158382

+0

Die obige Abfrage ist für den Endpunkt _search, nicht _suggest. Versuchen Sie, im Titel nach ca zu suchen oder Vorschläge zu erhalten? – kielni

+0

Im ersten Beispiel versuche ich in der Sekunde zu suchen Ich suche nach Vorschlägen – user2158382

11

Sie erhalten diesen Fehler auch, wenn auf Ihrem Elastic Search-Volume kein Speicherplatz mehr verfügbar ist.

3

In Marvel/Sense ausführen, nach space nach dem Befehl/_search suchen. Dies löst auch eine Parse-Ausnahme aus.

+0

omg, das war so dumm! Verloren 2 Stunden auf der Suche nach Gründen, Lesen von Protokollen, Cluster-Gesundheit und das Untersuchen von Fehlern, wenn das wirkliche Problem ein unsichtbarer Raum in * Sinn * war. Danke, Thiago Bussiki! :) – bosch

3

Überprüfen Sie, ob Ihr Elastic-Server über genügend freien Speicherplatz/RAM verfügt.

Für mich war der Speicherplatz der Datenträger das Problem.

2

Für mich war das Problem kein Datensatz für eine der in Searchkick enthaltenen Tabellen. Stellen Sie sicher, dass Sie mindestens einen Datensatz in jeder Tabelle haben, dann rake db:reindex:all und versuchen Sie es erneut.