我在ES索引中创建了一个文档。我需要运行搜索查询。
这是我的搜索有效负载。
{
"highlight": {
"require_field_match": true,
"pre_tags": [
"<span class=\"searchKeyHighlight\">"
],
"post_tags": [
"</span>"
],
"fields": {}
},
"query": {
"query_string": {
"multi_match": {
"default_operator": "AND",
"query": "xyz"
}
}
}
}
这是我得到的错误。
{
"error": {
"root_cause": [
{
"type": "parsing_exception",
"reason": "[query_string] unknown token [START_OBJECT] after [multi_match]",
"line": 1,
"col": 170
}
],
"type": "parsing_exception",
"reason": "[query_string] unknown token [START_OBJECT] after [multi_match]",
"line": 1,
"col": 170
},
"status": 400
}
col 170是搜索查询"multi_match":{"default_operator"
中multi_match之后的冒号。
我使用的是elasticsearch版本5.0.0。
Version: 5.0.0, Build: 253032b/2016-10-26T04:37:51.531Z, JVM: 1.8.0_102
我不明白multi_match查询中的错误。
答案 0 :(得分:1)
尝试以下查询。你可以使用query_string或multi_match。
{
"highlight": {
"require_field_match": true,
"pre_tags": [
"<span class=\"searchKeyHighlight\">"
],
"post_tags": [
"</span>"
],
"fields": {}
},
"query": {
"query_string": {
"default_operator": "AND",
"query": "xyz"
}
}
}