在ElasticSearch中,我有自動生成_id字段的文檔。我需要通過這個_id進行搜索。不幸的是,當_id作爲第一個字符自動生成時,它不能被搜索。我應該在這個領域設置一個映射嗎? (到目前爲止我對這個整個指數無映射)Elasticsearch自動生成_id以連字符開頭不可搜索
參見下面的例子中,我得到了通過讓http://localhost:9200/cazv/issue/_search?pretty=true&q=*:*
..., {
"_index" : "cazv",
"_type" : "issue",
"_id" : "vvQWnjYqSU2GJ4hrRnOBXw",
"_score" : 1.0,
"_source":{"volumeId": "At8YmsUdRqmqX-OUJKvdcQ",
"number": "No. 3"}
}, {
"_index" : "cazv",
"_type" : "issue",
"_id" : "-yTCu-HxSkOhwDOp4JVblg",
"_score" : 1.0,
"_source":{"volumeId": "Z97A5vG8TOSl7Bv0UlFGYg",
"number": "No. 1"}
}
, ...
當我試圖找到第一個問題,使用http://localhost:9200/cazv/issue/_search?pretty=true&q=_id:vvQWnjYqSU2GJ4hrRnOBXw
我沒問題得到
{
"took" : 137,
"timed_out" : false,
"_shards" : {
"total" : 5,
"successful" : 5,
"failed" : 0
},
"hits" : {
"total" : 1,
"max_score" : 1.0,
"hits" : [ {
"_index" : "cazv",
"_type" : "issue",
"_id" : "vvQWnjYqSU2GJ4hrRnOBXw",
"_score" : 1.0,
"_source":{"volumeId": "At8YmsUdRqmqX-OUJKvdcQ",
"number": "No. 3"}
} ]
}
}
但是當我嘗試通過獲取http://localhost:9200/cazv/issue/_search?pretty=true&q=_id:-yTCu-HxSkOhwDOp4JVblg
我得到一個錯誤,而不是:
{
"error" : "SearchPhaseExecutionException[Failed to execute phase [query], all shards failed; shardFailures {[NfwFTkfwTAuyO6QGG9hUUw][cazv][0]: SearchParseException[[cazv][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\"query\":{\"query_string\":{\"query\":\"_id:-yTCu-HxSkOhwDOp4JVblg\",\"lowercase_expanded_terms\":true,\"analyze_wildcard\":false}}}]]]; nested: QueryParsingException[[cazv] Failed to parse query [_id:-yTCu-HxSkOhwDOp4JVblg]]; nested: ParseException[Cannot parse '_id:-yTCu-HxSkOhwDOp4JVblg': Encountered \" \"-\" \"- \"\" at line 1, column 4.\r\nWas expecting one of:\r\n <BAREOPER> ...\r\n \"(\" ...\r\n \"*\" ...\r\n <QUOTED> ...\r\n <TERM> ...\r\n <PREFIXTERM> ...\r\n <WILDTERM> ...\r\n <REGEXPTERM> ...\r\n \"[\" ...\r\n \"{\" ...\r\n <NUMBER> ...\r\n ]; nested: ParseException[Encountered \" \"-\" \"- \"\" at line 1, column 4.\r\nWas expecting one of:\r\n <BAREOPER> ...\r\n \"(\" ...\r\n \"*\" ...\r\n <QUOTED> ...\r\n <TERM> ...\r\n <PREFIXTERM> ...\r\n <WILDTERM> ...\r\n <REGEXPTERM> ...\r\n \"[\" ...\r\n \"{\" ...\r\n <NUMBER> ...\r\n ]; }{[NfwFTkfwTAuyO6QGG9hUUw][cazv][1]: SearchParseException[[cazv][1]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\"query\":{\"query_string\":{\"query\":\"_id:-yTCu-HxSkOhwDOp4JVblg\",\"lowercase_expanded_terms\":true,\"analyze_wildcard\":false}}}]]]; nested: QueryParsingException[[cazv] Failed to parse query [_id:-yTCu-HxSkOhwDOp4JVblg]]; nested: ParseException[Cannot parse '_id:-yTCu-HxSkOhwDOp4JVblg': Encountered \" \"-\" \"- \"\" at line 1, column 4.\r\nWas expecting one of:\r\n <BAREOPER> ...\r\n \"(\" ...\r\n \"*\" ...\r\n <QUOTED> ...\r\n <TERM> ...\r\n <PREFIXTERM> ...\r\n <WILDTERM> ...\r\n <REGEXPTERM> ...\r\n \"[\" ...\r\n \"{\" ...\r\n <NUMBER> ...\r\n ]; nested: ParseException[Encountered \" \"-\" \"- \"\" at line 1, column 4.\r\nWas expecting one of:\r\n <BAREOPER> ...\r\n \"(\" ...\r\n \"*\" ...\r\n <QUOTED> ...\r\n <TERM> ...\r\n <PREFIXTERM> ...\r\n <WILDTERM> ...\r\n <REGEXPTERM> ...\r\n \"[\" ...\r\n \"{\" ...\r\n <NUMBER> ...\r\n ]; }{[NfwFTkfwTAuyO6QGG9hUUw][cazv][2]: SearchParseException[[cazv][2]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\"query\":{\"query_string\":{\"query\":\"_id:-yTCu-HxSkOhwDOp4JVblg\",\"lowercase_expanded_terms\":true,\"analyze_wildcard\":false}}}]]]; nested: QueryParsingException[[cazv] Failed to parse query [_id:-yTCu-HxSkOhwDOp4JVblg]]; nested: ParseException[Cannot parse '_id:-yTCu-HxSkOhwDOp4JVblg': Encountered \" \"-\" \"- \"\" at line 1, column 4.\r\nWas expecting one of:\r\n <BAREOPER> ...\r\n \"(\" ...\r\n \"*\" ...\r\n <QUOTED> ...\r\n <TERM> ...\r\n <PREFIXTERM> ...\r\n <WILDTERM> ...\r\n <REGEXPTERM> ...\r\n \"[\" ...\r\n \"{\" ...\r\n <NUMBER> ...\r\n ]; nested: ParseException[Encountered \" \"-\" \"- \"\" at line 1, column 4.\r\nWas expecting one of:\r\n <BAREOPER> ...\r\n \"(\" ...\r\n \"*\" ...\r\n <QUOTED> ...\r\n <TERM> ...\r\n <PREFIXTERM> ...\r\n <WILDTERM> ...\r\n <REGEXPTERM> ...\r\n \"[\" ...\r\n \"{\" ...\r\n <NUMBER> ...\r\n ]; }{[NfwFTkfwTAuyO6QGG9hUUw][cazv][3]: SearchParseException[[cazv][3]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\"query\":{\"query_string\":{\"query\":\"_id:-yTCu-HxSkOhwDOp4JVblg\",\"lowercase_expanded_terms\":true,\"analyze_wildcard\":false}}}]]]; nested: QueryParsingException[[cazv] Failed to parse query [_id:-yTCu-HxSkOhwDOp4JVblg]]; nested: ParseException[Cannot parse '_id:-yTCu-HxSkOhwDOp4JVblg': Encountered \" \"-\" \"- \"\" at line 1, column 4.\r\nWas expecting one of:\r\n <BAREOPER> ...\r\n \"(\" ...\r\n \"*\" ...\r\n <QUOTED> ...\r\n <TERM> ...\r\n <PREFIXTERM> ...\r\n <WILDTERM> ...\r\n <REGEXPTERM> ...\r\n \"[\" ...\r\n \"{\" ...\r\n <NUMBER> ...\r\n ]; nested: ParseException[Encountered \" \"-\" \"- \"\" at line 1, column 4.\r\nWas expecting one of:\r\n <BAREOPER> ...\r\n \"(\" ...\r\n \"*\" ...\r\n <QUOTED> ...\r\n <TERM> ...\r\n <PREFIXTERM> ...\r\n <WILDTERM> ...\r\n <REGEXPTERM> ...\r\n \"[\" ...\r\n \"{\" ...\r\n <NUMBER> ...\r\n ]; }{[NfwFTkfwTAuyO6QGG9hUUw][cazv][4]: SearchParseException[[cazv][4]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\"query\":{\"query_string\":{\"query\":\"_id:-yTCu-HxSkOhwDOp4JVblg\",\"lowercase_expanded_terms\":true,\"analyze_wildcard\":false}}}]]]; nested: QueryParsingException[[cazv] Failed to parse query [_id:-yTCu-HxSkOhwDOp4JVblg]]; nested: ParseException[Cannot parse '_id:-yTCu-HxSkOhwDOp4JVblg': Encountered \" \"-\" \"- \"\" at line 1, column 4.\r\nWas expecting one of:\r\n <BAREOPER> ...\r\n \"(\" ...\r\n \"*\" ...\r\n <QUOTED> ...\r\n <TERM> ...\r\n <PREFIXTERM> ...\r\n <WILDTERM> ...\r\n <REGEXPTERM> ...\r\n \"[\" ...\r\n \"{\" ...\r\n <NUMBER> ...\r\n ]; nested: ParseException[Encountered \" \"-\" \"- \"\" at line 1, column 4.\r\nWas expecting one of:\r\n <BAREOPER> ...\r\n \"(\" ...\r\n \"*\" ...\r\n <QUOTED> ...\r\n <TERM> ...\r\n <PREFIXTERM> ...\r\n <WILDTERM> ...\r\n <REGEXPTERM> ...\r\n \"[\" ...\r\n \"{\" ...\r\n <NUMBER> ...\r\n ]; }]",
"status" : 400
}
通過查詢報價解決: 'HTTP://本地主機: 9200/cazv/issue/_search?pretty = true&q = _id:「 - yTCu-HxSkOhwDOp4JVblg」' 也許編碼雙引號會更好,所以這個URL看起來像這樣: 'http:// localhost:9200/cazv /問題/ _search漂亮=真&q = _id:%22 yTCu-HxSkOhwDOp4JVblg%22' – Beyboy 2014-11-25 09:59:15