【发布时间】:2017-11-27 17:26:06
【问题描述】:
我正在尝试将按日期范围搜索与 PHP 和弹性搜索集成
$params1 = [
'index' => 'joborders',
'type' => 'joborder',
'from' =>0,
'size' => 50,
'body' => [
'query' => [
'query_string' => [
'query' => $wildCardString,
'fields' => ['description'],
]
]
]
];
$filter_date=array();
$filter_date['range']['datecreatedsort']['gte']='2015-11-27';
$filter_date['range']['datecreatedsort']['lte']='2017-11-27';
$params1['body']['query']['filtered']['filter']=$filter_date;
$params1['body']['sort']['datecreatedsort']['order'] = 'desc';
try {
$results = $client->search($params1);
//print_r($results);
}
catch (Exception $e) {
$last = $client->transport->getLastConnection()->getLastRequestInfo();
$last['results']['error'] = [];
print_r($last);
}
当我在上面的查询中运行时,出现以下错误
[query_string] 格式错误的查询,应为 [END_OBJECT] 但已找到 [FIELD_NAME]","line":1,"col":78},"status":400}
datecreatedsort 字段映射是日期类型是日期和值在 弹性搜索数据库是“datecreatedsort”:“2016-05-30T09:39:40.000Z”
请帮助弹性查询中的问题在哪里。
【问题讨论】:
标签: php elasticsearch logstash