diff --git a/lib/Alchemy/Phrasea/SearchEngine/Elastic/AST/RangeExpression.php b/lib/Alchemy/Phrasea/SearchEngine/Elastic/AST/RangeExpression.php index 5e85715087..a8b95e7455 100644 --- a/lib/Alchemy/Phrasea/SearchEngine/Elastic/AST/RangeExpression.php +++ b/lib/Alchemy/Phrasea/SearchEngine/Elastic/AST/RangeExpression.php @@ -59,8 +59,9 @@ class RangeExpression extends Node } } + $field = $context->normalizeField($this->field->getValue()); $query = array(); - $query['range'][$this->field->getValue()] = $params; + $query['range'][$field] = $params; return $query; } diff --git a/lib/Alchemy/Phrasea/SearchEngine/Elastic/Search/QueryContext.php b/lib/Alchemy/Phrasea/SearchEngine/Elastic/Search/QueryContext.php index 2159672f1f..dd1b86a3a3 100644 --- a/lib/Alchemy/Phrasea/SearchEngine/Elastic/Search/QueryContext.php +++ b/lib/Alchemy/Phrasea/SearchEngine/Elastic/Search/QueryContext.php @@ -73,6 +73,13 @@ class QueryContext return $fields; } + public function normalizeField($field) + { + // TODO Private fields handling + // TODO Field label dereferencing (we only want names) + return sprintf('caption.%s', $field); + } + public function getFields() { return $this->fields;