Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在elasticsearch中使用聚合?我尝试使用以下代码,但显示错误_Php_Codeigniter_<img Src="//i.stack.imgur.com/RUiNP.png" Height="16" Width="18" Alt="" Class="sponsor Tag Img">elasticsearch - Fatal编程技术网 elasticsearch,Php,Codeigniter,elasticsearch" /> elasticsearch,Php,Codeigniter,elasticsearch" />

Php 如何在elasticsearch中使用聚合?我尝试使用以下代码,但显示错误

Php 如何在elasticsearch中使用聚合?我尝试使用以下代码,但显示错误,php,codeigniter,elasticsearch,Php,Codeigniter,elasticsearch,我的代码: $test1 = '{ "query": { "query_string": { "query": "*" } }, "aggs": { "AGE": { "filter": {

我的代码:

$test1  = '{
            "query": {
                "query_string": {
                      "query": "*"
                    }
             },
            "aggs": {
                    "AGE": {
                      "filter": {
                        "range": {
                          "age": { }
                        }
                      }
                    }
            },
            "sort": { 
                "age": {
                    "order": "desc" 
                } 
            }
    }';
$response = $this->elasticsearch->advancedquery("comment", $test1);
默认情况下,在类文件和
(“comment”,$test1)中设置DB名称“comment”是表名。
这个问题有什么不对劲吗?
当我运行查询时,我得到以下错误

 [root_cause] => Array
            (
                [0] => Array
                    (
                        [type] => illegal_argument_exception
                        [reason] => Fielddata is disabled on text fields by default. Set fielddata=true on [age] in order to load fielddata in memory by uninverting the inverted index. Note that this can however use significant memory. Alternatively use a keyword field instead.
                    )

            )

在5.x版本中,默认情况下,文本字段上禁用了
FieldData。如果需要,您需要启用它们

依照

Fielddata会消耗大量堆空间,尤其是在加载高基数文本字段时。一旦fielddata加载到堆中,它将在段的生存期内保持在那里。此外,加载fielddata是一个昂贵的过程,可能会导致用户体验延迟命中。这就是默认情况下禁用fielddata的原因

如果要在字段上运行聚合,则需要像以下那样启用它:

PUT my_index/_mapping/my_type
{
   "properties": {
   "age": { 
   "type":     "text",
   "fielddata": true
    }
   }
 }
希望这有帮助