мне нужно установить простое условие для эластичной базы данных поиска, которое, если результат будет нулевым, покажет, что результат поиска не существует.
$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";
}
Итак, как просто установить условие для упругого поиска, когда результат возвращается пустым.
Пытаться:
if ($result['hits']['total'] > 0 ){
echo ($result);
} else {
echo "Your search doesnot exists";
}
ElasticSearch
возвращает фактический искомый контент в массиве hits
.
Вы можете проверить наличие hits['total']
чтобы получить количество элементов, соответствующих вашему запросу, и все отдельные элементы выходят из массива hits['hits']
.