弹性搜索查询的未知令牌错误
问题描述:
我在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
}
山口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查询。
答
请尝试以下查询。您可以使用无法使用的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"
}
}
}
您可以有一个['multi_match'(https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-multi-match-query.html)查询或['query_string'](https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-query-string-query.html)查询,但不能混用两者。 – Val
谢谢,这是问题所在。如果您将其添加为答案,我会将其标记为已解决。 @vinod_vh给出了相同的答案,如果你不介意的话,我可以接受。 –
随时接受@vinod_vh答案;-) – Val