我有这样的映射类型的索引:
{
"mappings":{
"logs_june":{
"_timestamp":{
"enabled":"true"
},
"properties":{
"logdate":{
"type":"date",
"format":"dd/MM/yyyy HH:mm:ss"
}
}
}
}
}
其中有许多文档()。当我尝试使用下面的搜索查询获取文档时,它会抛出SearchPhaseExecutionException ..所有分片都失败了.. bla bla 我必须解决什么问题?
$queryFilter = '{
"query":{
"filtered":{
"query":{
"match_all":{}
},
"filter":{
"range":{
"logdate":{
"gte":"00/00/2014 00:00:00 "
}
}
}
}
}
}';
$params['body'] = $queryFilter;
$params['index'] = 'accesslog';
$params['size'] = 1000;
$query = $elasticSearch->search($params);
答案 0 :(得分:1)
我很确定你的SearchPhaseExecutionException
会告诉你某些事情
IllegalFieldValueException[Cannot parse "00/00/2014 00:00:00": Value 0 for monthOfYear must be in the range [1,12]];
请尝试在"01/01/2014 00:00:00"
过滤器中使用range
,即使用有效的日期和月份而不是00
,这是无效的。还要确保删除末尾的空格,因为它还会在解析日期期间导致错误。