Commande search-req - Recherche d'entrées

Sommaire
cad126fr
Sommaire
La commande search-req permet de rechercher des entrées dans une partition d’espace de noms.
Le service de recherche peut renvoyer de nombreux objets. Si la recherche dépasse une limite de taille ou de temps, ou si l'agent DUA reçoit une demande d’abandon, la recherche renvoie des résultats partiels, c'est-à-dire les entrées collectées avant son arrêt.
La recherche est fructueuse lorsque son objet de base a été trouvé.
La recherche détecte si un alias pointe directement ou indirectement vers lui-même et renvoie une erreur.
La commande présente le format suivant
search-req base-object = DN [one-level-only | base-object-only | whole-subtree] [filter = { search-req-filter }] [no-info-return] [dont-search-aliases | search-aliases] [attr-only | attr-and-val] [all-attrs | attrs = attribute [,attribute...]] [common-args] ;
  • base-object
    = DN
    Définit le nom unique de l’entrée à partir de laquelle la recherche démarre. Le
    nom unique
    doit être spécifié au format X.500.
  • one-level-only | base-object-only | whole-subtree
    (Facultatif) Spécifie la portée de la recherche.
    La valeur par défaut est base-object-only (objet de base uniquement).
  • {
    search-req-filter
    }
    Spécifie un filtre de recherche. Les accolades font partie de la syntaxe de la commande. Pour plus d’informations sur sa syntaxe, reportez-vous à la section search-req-filter.
  • no-info-return
    (Facultatif) Renvoie uniquement les noms des entrées qui correspondent au filtre.
  • dont-search-aliases
    (Facultatif) Spécifie que search-req ne doit pas suivre pas l’attribut aliasedObjectname d’un alias. Si cette option n’est pas spécifiée, search-req traitera les alias en tant que pointeurs vers des entrées.
  • attrs =
    attribute
    [,
    attribute
    ...]
    (Facultatif) Renvoie uniquement les attributs spécifiés.
  • common-args
    Définit les arguments communs. Pour plus d’informations, reportez-vous à la section commun-args.
Exemple : service de recherche pour une entrée
L’exemple suivant équivaut à une commande read-req. Elle permet de récupérer l'ensemble des attributs et des valeurs d’une entrée :
search-req base-object = <countryName "AU"> <organizationName "Democorp">;
Exemple : service de recherche pour un seul niveau
L’exemple suivant équivaut à une commande list-req. Elle permet de récupérer les noms de tous les objets d’un niveau sous Democorp :
search-req base-object = <countryName "AU"> <organizationName "Democorp"> one-level-only no-info-return;
Exemple : service de recherche pour une sous-arborescence
L’exemple suivant recherche toutes les entrées sous Democorp, y compris dans Democorp. Toutes les informations sur chaque entrée contenant un attribut de nom de famille avec la valeur
Smith
 sont récupérées :
search-req base-object = <countryName "AU"> <organizationName "Democorp"> whole-subtree filter = { attr = surname value = "Smith" };
Exemple : service de recherche pour une arborescence d'annuaires locaux
Effecturez une recherche dans l’arborescence d'annuaires locaux pour récupérer tous les objets contenant un attribut de nom de famille dont la valeur est Smith, un attribut de titre dont la valeur est 
Manager
 et un attribut
telephoneNumber
. Récupérez uniquement les attributs 
commonName
,
surname
et
telephoneNumber
des objets correspondant au filtre de recherche.
search-req base-object = <> whole-subtree filter = { and {attr = surname value = "Smith", attr = title substrings [ any "Manager"], attr = telephoneNumber present} } attrs = commonName, surname, telephoneNumber common-args = { local-scope };
search-req-filter
L’option search-req-filter définit le filtre pour la commande search-req. La commande search-req utilise le filtre pour déterminer si les entrées détectées doivent être affichées ou exclues de ses résultats.
Syntaxe
Un filtre search-req comprend un élément de filtre, ou plusieurs éléments de filtre reliés par l’un des opérateurs logiques : 
and
,
not, or
.
Par conséquent, vous pouvez utiliser l’un des formats suivants :
search-filter-item and {search-filter-item ,search-filter-item ...} or {search-filter-item ,search-filter-item ...} not {search-filter-item}
Dans ces expressions, les accolades ({}) font partie de la syntaxe et définissent la portée de l’opérateur.
Lorsque vous disposez d’un seul élément de filtre de recherche, vous pouvez le remplacer par l'une des expressions indiquées plus haut et imbriquer celles-ci indéfiniment.
  • search-filter-item
    Définit un élément dans un filtre de recherche. Il présente l'un des formats suivants :
    attr=DN present attr=DN value {= | <= | >= | ~=} attributeValue attr=DN substrings {initial | final | any} attributeValueSubString
    Les accolades ({}) et les barres verticales (|) dans ces expressions ne font pas partie de la commande : elles permettent simplement d'afficher les autres formes de l’expression : les accolades entourent un ensemble d’alternatives et les barres verticales les séparent.
    Les opérateurs et les autres paramètres de ces expressions se présentent comme suit :
    • =
      Est égal à
    • <=
      Inférieur ou égal
    • >=
      Supérieur ou égal
    • ~=
      A peu près égal
    • attributeValue
      Définit une valeur d’attribut possible.
    • attributeValueSubstring
      Définit une sous-chaîne possible d’une valeur d’attribut.
Exemples applicables à LDAP uniquement
Les commandes suivantes sont prises en charge par l'agent LDUA, qui est la version LDAP du DUA. Etant donné que le LDUA utilise le protocole LDAP, il a accès aux contrôles LDAP, qui permettent de modifier des opérations. Par exemple, la commande search peut inclure un tri côté serveur et des résultats par page.
Exemple : recherche et tri de résultats
Recherchez tous les objets sous Democorp, récupérez tous les objets dont le nom commun commence par un H et triez les objets dans l’ordre inverse par description :
search-req base-object=<o Democorp> whole-subtree filter = { attr = commonName substrings [ initial h ] } attrs = commonName,description controls = { server-side-sort description reverse critical };
Exemple : recherche et pagination de résultats
Recherchez tous les objets sous Democorp, récupérez tous les objets contenant un attribut de nom commun commençant par un H et paginez les résultats :
search-req base-object=<o Democorp> whole-subtree filter = { attr = commonName substrings [ initial h ] } attrs = commonName,description controls = { simple-paged-results size = 20 critical };
Exemple : recherche, tri et pagination de résultats
Ces contrôles de LDUA peuvent être utilisés ensemble. Dans l’exemple suivant, tous les objets sous Democorp sont recherchés, tous les objets contenant un attribut de nom commun commençant par un H sont récupérés et triés et les résultats sont paginés :
search-req base-object=<o Democorp> whole-subtree filter = { attr = commonName substrings [ initial h ] } attrs = commonName,description controls = { server-side-sort commonName simple-paged-results size = 20 next-page };