我对弹性搜索完全陌生。我在试着从弹性搜索中提取记录。
$params = Array
(
[index] => elastic_index
[size] => 10
[body] => Array
(
[query] => Array
(
[bool] => Array
(
[must] => Array
(
[match] => Array
(
[uniqueField] => uniqueValue
)
)
[filter] => Array
(
[range] => Array
(
[intValue] => Array
(
[lte] => 120
)
)
[terms] => Array
(
[type] => Array
(
[0] => some
[1] => values
)
)
)
)
)
)
)
$data = $Elasticsearch\ClientBuilderObject->search($params);
因此,没有范围筛选器的查询工作正常,但当我试图筛选它时,我将得到以下错误。
{"error":{"root_cause":[{"type":"parsing_exception",“原因”:“范围错误查询,预期END_OBJECT但找到FIELD_NAME",”行“:1,"col":97},"type":"parsing_exception",”parsing_exception“,”原因“:”范围错误查询,预期END_OBJECT但找到了FIELD_NAME","line":1,“col”:97},"status":400}
我检查了文档,但没有找到任何解决办法。如果你能在这里给我一些提示,或者给一些我能解决问题的网站,我将非常感激。
发布于 2020-09-02 04:16:41
我猜你是在构建这样的数组?
"filter" => [
"range" => [
"intValue" => [
"lte" => 120
]
],
"terms" => [
"type" => ["some", "values"]
]
]
你能试着把它换成这个吗?
"filter" => [
[
"range" => [
"intValue" => [
"lte" => 120
]
]
],
[
"terms" => [
"type" => ["some", "values"]
]
]
]
https://stackoverflow.com/questions/63703819
复制相似问题