使用 PHP Elastica 库,我想知道检查 Id=1 的文档是否存在的最佳方法是什么?
我正在做如下:
$docPre = $elasticaType->getDocument(1);
if ($docPre) {
//do some stuff...
} else {
//do something else...
}
但是,上面的代码不起作用,因为如果文档不存在,getDocument() 方法会抛出 NotFoundException。
或者,我可以使用以下内容进行类型“搜索”:
$elasticaQueryString = new \Elastica\Query\QueryString();
$elasticaQueryString->setParam('id', 1);
$elasticaQuery = new \Elastica\Query();
$elasticaQuery->setQuery($elasticaQueryString);
$resultSet = $elasticaType->search($elasticaQuery);
$count = $resultSet->count();
if ($count > 0) {
//do some stuff...
} else {
//do something else...
}
但是,上面看起来很麻烦......有什么更好的方法? 这个另一个问题适用于 ElasticSearch,其中一个答案表明了我的第一种方法(相当于使用 getDocument)。但是,我不希望抛出异常,因为使用 Elastica 就是这种情况......