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= DNDefine o nome diferenciado da entrada na qual a pesquisa começa. ODNé 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.
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-itemDefine um item dentro de um filtro de pesquisa. Ele tem um dos seguintes formatos:
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.attr=DN present attr=DN value {= | <= | >= | ~=} attributeValue attr=DN substrings {initial | final | any} attributeValueSubStringOs 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
- attributeValueDefine um valor de atributo possível.
- attributeValueSubstringDefine 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 };