Comando search-req -- Encontrar entradas

Conteúdo
cad140br
Conteúdo
O comando search-req localiza as entradas dentro de uma partição de namespace.
O serviço de pesquisa pode retornar muitos objetos. Se a pesquisa exceder um limite de tamanho ou um limite de tempo, ou se o DUA receber uma solicitação de abandono, a pesquisa retornará resultados parciais, ou seja, as entradas que ela coletou antes de ser interrompida.
A pesquisa será bem-sucedida se puder encontrar seu objeto base.
A pesquisa detecta se um alias aponta direta ou indiretamente para si mesmo e retorna um erro.
O comando tem o seguinte formato:
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
    Define o nome diferenciado da entrada na qual a pesquisa começa. O 
    DN
    é expresso no formato do X.500.
  • one-level-only | base-object-only | whole-subtree
    (Opcional) Especifica o escopo da pesquisa.
    O padrão é base-object-only.
  • {
    search-req-filter
    }
    Especifica um filtro para a pesquisa. As chaves fazem parte do comando. Para obter mais informações sobre sua sintaxe, consulte search-req-filter.
  • no-info-return
    (Opcional) Retorna apenas os nomes das entradas que satisfazem ao filtro.
  • dont-search-aliases
    (Opcional) Especifica que search-req não deve seguir o aliasedObjectname de um alias. Se isso não for especificado, search-req tratará os aliases como ponteiros para as entradas.
  • attrs =
    attribute
    [,
    attribute
    ...]
    (Opcional) Retorna apenas os atributos especificados.
  • common-args
    Define os argumentos comuns. Para obter mais informações, consulte common-args.
Exemplo: serviço de pesquisa para uma entrada
O exemplo a seguir é equivalente a uma read-req. Ele recupera todos os atributos e valores de uma entrada:
search-req base-object = <countryName "AU"> <organizationName "Democorp">;
Exemplo: serviço de pesquisa para um único nível
O exemplo a seguir é equivalente a uma list-req. Ele recupera os nomes de todos os objetos de um nível abaixo de Democorp:
search-req base-object = <countryName "AU"> <organizationName "Democorp"> one-level-only no-info-return;
Exemplo: serviço de pesquisa para a subárvore
O exemplo a seguir pesquisa todas as entradas abaixo de Democorp, incluindo Democorp. Ele recupera todas as informações sobre cada entrada que contém um atributo surname (sobrenome) com o valor
Smith
:
search-req base-object = <countryName "AU"> <organizationName "Democorp"> whole-subtree filter = { attr = surname value = "Smith" };
Exemplo: serviço de pesquisa para a árvore de diretório local
Pesquisa a árvore de diretório local, recuperando todos os objetos que contêm um atributo de sobrenome com o valor Smith e o atributo de título com o valor 
Gerente
, e um atributo 
telephoneNumber
. Recupera apenas os atributos 
commonName
,
surname
 e 
telephoneNumber
 dos objetos que correspondem ao filtro da pesquisa.
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
A opção search-req-filter define o filtro para o comando search-req. O comando search-req utiliza o filtro para determinar se deve exibir as entradas que encontrar ou se deve excluí-las de seus resultados.
Sintaxe
O filtro search-req consiste em um ou diversos itens de filtro vinculados juntos por um dos operadores lógicos:
and
not, or
.
Portanto, você pode usar qualquer um dos seguintes formatos:
search-filter-item and {search-filter-item ,search-filter-item ...} or {search-filter-item ,search-filter-item ...} not {search-filter-item}
As chaves ({}) nessas expressões fazem parte da sintaxe e definem o escopo do operador.
Sempre que você tiver um item de filtro de pesquisa, poderá substituí-lo por uma das expressões acima e poderá aninhar essas expressões indefinidamente.
  • search-filter-item
    Define um item dentro de um filtro de pesquisa. Ele tem um dos seguintes formatos:
    attr=DN present attr=DN value {= | <= | >= | ~=} attributeValue attr=DN substrings {initial | final | any} attributeValueSubString
    As chaves ({}) e barras verticais (|) nessas expressões não fazem parte do comando, elas foram usadas apenas para mostrar formas alternativas da expressão: as chaves delimitam um conjunto de alternativas e as barras verticais separam as alternativas.
    Os operadores e outros parâmetros nessas expressões são:
    • =
      Igual a
    • <=
      Menor que ou igual a
    • >=
      Maior que ou igual a
    • ~=
      Aproximadamente igual a
    • attributeValue
      Define um valor de atributo possível.
    • attributeValueSubstring
      Define uma subsequência de caracteres possível de um valor de atributo.
Exemplos apenas LDAP
Esses comandos são suportados pelo LDUA, que é a versão LDAP do DUA. Como o LDUA usa o protocolo LDAP, ele tem acesso aos controles do LDAP, o que permite que as operações sejam modificadas. Por exemplo, o comando de pesquisa pode incluir a classificação do servidor e os resultados paginados.
Exemplo: pesquisar e classificar os resultados
Pesquisa todos os objetos em Democorp, recuperando todos os objetos com um nome comum que comece com H e classifica os objetos na ordem inversa, por descrição:
search-req base-object=<o Democorp> whole-subtree filter = { attr = commonName substrings [ initial h ] } attrs = commonName,description controls = { server-side-sort description reverse critical };
Exemplo: pesquisa e paginar os resultados
Pesquisa todos os objetos em Democorp, recuperando todos os objetos que contêm um atributo de nome comum que comece com H e pagina os resultados:
search-req base-object=<o Democorp> whole-subtree filter = { attr = commonName substrings [ initial h ] } attrs = commonName,description controls = { simple-paged-results size = 20 critical };
Exemplo: pesquisar, classificar e paginar os resultados
Esses controles do LDUA podem ser usados juntos. O exemplo a seguir pesquisa todos os objetos em Democorp, recupera todos os objetos que contêm um atributo de nome comum que comece com H, classifica e pagina os resultados:
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 };