我需要为弹性搜索数据库设置一个简单的条件,如果结果为null,则表明搜索结果不存在。
$result = $client->search($params);
但是在弹性搜索中,当结果为偶数时,它返回---
Array (
[took] => 1
[timed_out] =>
[_shards] => Array (
[total] => 2
[successful] => 2
[failed] => 0
)
[hits] => Array (
[total] => 0
[max_score] =>
[hits] => Array ( )
)
)
因此,当我设置条件以检查结果是否为空时,由于前一行,它将永远不会执行。
if ($result != null ){
echo ($result);
} else {
echo "Your search doesnot exists";
}
因此,当结果返回空时,如何简单地设置弹性搜索的条件。
答案 0 :(得分:1)
ElasticSearch
返回hits
数组中的实际搜索内容。
您可以检查hits['total']
以获取与您的查询匹配的项目数以及hits['hits']
数组中所有单个项目退出。
答案 1 :(得分:1)
尝试:
if ($result['hits']['total'] > 0 ){
echo ($result);
} else {
echo "Your search doesnot exists";
}