17.8.1.5 Recherche de document contenu dans une collection

La classe SearchDoc permet de faire des recherches dans une collection spécifique (dossier ou recherche) au moyen de la méthode SearchDoc::useCollection().

Cette recherche n'est pas récursive par défaut, c'est à dire qu'elle ne recherche que dans la collection indiquée.

Lorsque la collection est un dossier, il est possible de faire des recherches récursives à l'aide de la méthode DocSearch::setRecursiveSearch(). Le niveau de profondeur de la recherche est ensuite défini au moyen de la propriété DocSearch::folderRecursiveLevel, positionné à 2 par défaut.

Note : Le setRecursiveSearch fait référence au niveau de récursivité. par exemple, folderRecursiveLevel=0 veut dire que l'on recherche dans le dossier, alors que folderRecursiveLevel=1 indique de rechercher dans le dossier et ses sous-dossiers.

Lorsque la collection est une recherche, il n'est pas possible de faire la recherche récursivement.

$dirid=2345; // identifiant d'un document recherche
$searchDoc = new SearchDoc();
$searchDoc->setObjectReturn();
$searchDoc->useCollection($dirid);
$searchDoc->search();
if ($searchDoc->searchError()) {
    $action->exitError(sprintf("search error : %s",$searchDoc->getError()));
}
×