【发布时间】:2018-01-30 15:21:16
【问题描述】:
我正在使用 POST /_search API 在弹性搜索 5.6.0 中搜索数据。
当我尝试搜索查询 Android 8.0 (Oreo) 搜索 API 成功,但是当我尝试 Android 8.0 (Oreo 弹性搜索失败并出现错误 Failed to解析查询 [Android 8.0 (Oreo]
请看下面的错误:
{
"shard":0,
"index":"my_index",
"node":"-Dzw5527SZGf7U0Ebut0PQ",
"reason":{
"type":"query_shard_exception",
"reason":"Failed to parse query [Android 8.0 (Oreo]",
"index_uuid":"wo7ihAX8Syy15MSDrS-Wsw",
"index":"my_index",
"caused_by":{
"type":"parse_exception",
"reason":"Cannot parse 'Android 8.0 (Oreo': Encountered \"<EOF>\" at line 1, column 17.\r\nWas expecting one of:\r\n <AND> ...\r\n <OR> ...\r\n <NOT> ...\r\n \"+\" ...\r\n \"-\" ...\r\n <BAREOPER> ...\r\n \"(\" ...\r\n \")\" ...\r\n \"*\" ...\r\n \"^\" ...\r\n <QUOTED> ...\r\n <TERM> ...\r\n <FUZZY_SLOP> ...\r\n <PREFIXTERM> ...\r\n <WILDTERM> ...\r\n <REGEXPTERM> ...\r\n \"[\" ...\r\n \"{\" ...\r\n <NUMBER> ...\r\n ",
"caused_by":{
"type":"parse_exception",
"reason":"Encountered \"<EOF>\" at line 1, column 17.\r\nWas expecting one of:\r\n <AND> ...\r\n <OR> ...\r\n <NOT> ...\r\n \"+\" ...\r\n \"-\" ...\r\n <BAREOPER> ...\r\n \"(\" ...\r\n \")\" ...\r\n \"*\" ...\r\n \"^\" ...\r\n <QUOTED> ...\r\n <TERM> ...\r\n <FUZZY_SLOP> ...\r\n <PREFIXTERM> ...\r\n <WILDTERM> ...\r\n <REGEXPTERM> ...\r\n \"[\" ...\r\n \"{\" ...\r\n <NUMBER> ...\r\n "
}
}
}
}
下面的查询对我有用:
{
"query":{
"bool":{
"must":[
{
"query_string":{
"query":"Android 8.0 (Oreo)",
"default_operator":"AND"
}
}
]
}
}
}
下面的查询抛出异常:
{
"query":{
"bool":{
"must":[
{
"query_string":{
"query":"Android 8.0 (Oreo",
"default_operator":"AND"
}
}
]
}
}
}
您能帮我解决这个问题吗?为什么我在查询中错过了 ) 时会收到错误消息?
【问题讨论】:
标签: elasticsearch elasticsearch-5