我有一个查询,我需要筛选出结果.
这是我的查询
{
"query": {
"filtered": {
"query": {
"multi_match": {
"default_operator": "AND",
"fields": [
"author",
"title",
"publisher",
"year"
],
"query": "George Orwell"
}
},
"filter": {
"terms": {
"year": [
1980,
1981
]
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
我收到一个错误说no [query] registered for [filtered]
.我清楚地查询了过滤字段.我遵循elasticsearch页面上过滤的查询文档中给出的格式.
https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-filtered-query.html
例如MySQL查询
SELECT fields_a, fields_b FROM table WHERE fields_a > fields_b;
Run Code Online (Sandbox Code Playgroud)
我正在尝试实施elasticsearch。我试过了,如下:
$where = [ "query" => [ "filter" => [ "script" => [ "script" => "doc[\"fields_a\"].value > doc[\"fields_b\"].value" ] ] ] ];
Run Code Online (Sandbox Code Playgroud)
我缺少什么?