Pesquisar endpoint
O endpoint /search
na API do Reactor fornece uma maneira de encontrar recursos que correspondem aos critérios desejados, por meio de uma consulta.
Os seguintes tipos de recursos de API podem ser pesquisados, utilizando a mesma estrutura de dados que os documentos baseados em recursos retornados pela API:
audit_events
builds
callbacks
data_elements
environments
extension_packages
extensions
hosts
libraries
properties
rule_components
rules
Todas as consultas têm como escopo sua empresa atual e as propriedades acessíveis.
- meta não é pesquisável nem é retornado nos resultados de pesquisa.
- Os campos de esquema para delegados de pacote de extensão (ações, condições etc.) são pesquisáveis como texto, não como uma estrutura de dados aninhada.
- Atualmente, as consultas de intervalo só aceitam números inteiros.
Para obter informações mais detalhadas sobre como usar essa funcionalidade, consulte o manual de pesquisa.
Introdução
O endpoint usado neste manual faz parte da API do Reactor. Antes de continuar, consulte o Guia de introdução para obter informações importantes sobre como realizar a autenticação na API.
Executar uma pesquisa perform
Você pode executar uma pesquisa fazendo uma solicitação POST.
Formato da API
POST /search
Solicitação
curl -X POST \
https://reactor.adobe.io/search \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H "Content-Type: application/vnd.api+json" \
-H 'Accept: application/vnd.api+json;revision=1' \
-d '{
"data": {
"from": 0,
"size": 25,
"query": {
"attributes.name": {
"value": "Performance"
},
"attributes.revision_number": {
"range": {
"lte": "2",
"gt": "0"
}
}
},
"sort": [
{
"attributes.revision_number": "desc"
}
],
"resource_types": [
"data_elements",
"rule_components"
]
}
}'
from
size
query
Um objeto que representa uma consulta de pesquisa. Para cada propriedade nesse objeto, a chave deve representar um caminho de campo para consulta e o valor deve ser um objeto cujas subpropriedades determinem o que consultar.
Para cada caminho de campo, é possível usar as seguintes subpropriedades:
-
exists
: retornará true se o campo existir no recurso. -
value
: retornará true se o valor do campo corresponder ao valor dessa propriedade. -
value_operator
: lógica booliana usada para determinar como uma consulta devalue
deve ser tratada. Os valores permitidos sãoAND
eOR
. Quando excluída, a lógicaAND
é presumida. Consulte a seção sobre lógica do operador value para obter mais informações. -
range
Retornará true se o valor do campo estiver em um intervalo numérico específico. O intervalo em si é determinado pelas seguintes subpropriedades:gt
: Maior que o valor fornecido, não inclusivo.gte
: Maior que ou igual ao valor fornecido.lt
: Menor que o valor fornecido, não inclusivo.lte
: Menor que ou igual ao valor fornecido.
sort
asc
para crescente, desc
para decrescente).resource_types
Resposta
Uma resposta bem-sucedida retorna uma lista de recursos correspondentes para a consulta. Para obter detalhes sobre como a API determina correspondências para valores específicos, consulte a seção do apêndice sobre convenções correspondentes.
{
"data": [
{
"id": "DE5d11b3ed301d4ce99b530a5121e392b2",
"type": "data_elements",
"attributes": {
"created_at": "2020-12-14T17:36:09.045Z",
"deleted_at": null,
"dirty": true,
"enabled": true,
"name": "Performance Indicator",
"published": false,
"published_at": null,
"revision_number": 1,
"updated_at": "2020-12-14T17:36:09.045Z",
"clean_text": false,
"default_value": null,
"delegate_descriptor_id": "kessel-test::dataElements::dom-attribute",
"force_lower_case": false,
"review_status": "unsubmitted",
"storage_duration": null,
"settings": "{\"elementProperty\":\"html\",\"elementSelector\":\".target-element\"}"
},
"relationships": {
"libraries": {
"links": {
"related": "https://reactor.adobe.io/data_elements/DE5d11b3ed301d4ce99b530a5121e392b2/libraries"
}
},
"revisions": {
"links": {
"related": "https://reactor.adobe.io/data_elements/DE5d11b3ed301d4ce99b530a5121e392b2/revisions"
}
},
"notes": {
"links": {
"related": "https://reactor.adobe.io/data_elements/DE5d11b3ed301d4ce99b530a5121e392b2/notes"
}
},
"property": {
"links": {
"related": "https://reactor.adobe.io/data_elements/DE5d11b3ed301d4ce99b530a5121e392b2/property"
},
"data": {
"id": "PR97d92a379a5f48758947cdf44f607a0d",
"type": "properties"
}
},
"origin": {
"links": {
"related": "https://reactor.adobe.io/data_elements/DE5d11b3ed301d4ce99b530a5121e392b2/origin"
},
"data": {
"id": "DE5d11b3ed301d4ce99b530a5121e392b2",
"type": "data_elements"
}
},
"extension": {
"links": {
"related": "https://reactor.adobe.io/data_elements/DE5d11b3ed301d4ce99b530a5121e392b2/extension"
},
"data": {
"id": "EX0348d463358c4c89afe726245576f112",
"type": "extensions"
}
},
"updated_with_extension_package": {
"links": {
"related": "https://reactor.adobe.io/data_elements/DE5d11b3ed301d4ce99b530a5121e392b2/updated_with_extension_package"
},
"data": {
"id": "EP75db2452065b44e2b8a38ca883ce369a",
"type": "extension_packages"
}
},
"updated_with_extension": {
"links": {
"related": "https://reactor.adobe.io/data_elements/DE5d11b3ed301d4ce99b530a5121e392b2/updated_with_extension"
},
"data": {
"id": "EX1cc78b39339242da82a0e0752fa53375",
"type": "extensions"
}
}
},
"links": {
"property": "https://reactor.adobe.io/properties/PR97d92a379a5f48758947cdf44f607a0d",
"origin": "https://reactor.adobe.io/data_elements/DE5d11b3ed301d4ce99b530a5121e392b2",
"self": "https://reactor.adobe.io/data_elements/DE5d11b3ed301d4ce99b530a5121e392b2",
"extension": "https://reactor.adobe.io/extensions/EX0348d463358c4c89afe726245576f112"
},
"meta": {
"latest_revision_number": 1
}
}
],
"meta": {
"total_hits": 1
}
}
Apêndice
A seção a seguir contém informações adicionais sobre o uso do endpoint /search
.
Lógica do operador de valor value-operator
Os valores de consulta de pesquisa são divididos em termos para corresponder a documentos indexados. Entre cada termo, uma relação AND
é feita.
Quando você usa AND
como o value_operator
, um valor de consulta de My Rule Holiday Sale
é interpretado como documentos com um campo que contém My AND Rule AND Holiday AND Sale
.
Quando você usa OR
como o value_operator
, um valor de consulta de My Rule Holiday Sale
é interpretado como documentos com um campo que contém My OR Rule OR Holiday OR Sale
. Quanto mais termos corresponderem, maior será o match_score
. Devido à natureza da correspondência de termos parciais, quando nada corresponde ao valor desejado, é possível obter um conjunto de resultados no qual o valor é correspondido somente em um nível muito básico, como alguns caracteres de texto.
Convenções de correspondência conventions
A pesquisa se destina a esclarecer o grau de relevância de um documento para uma consulta fornecida. A forma como os dados do documento são analisados e indexados afeta diretamente isso.
A tabela a seguir detalha as convenções de correspondência para tipos de campos comuns:
Há convenções adicionais para campos específicos que aparecem na API:
id
delegate_descriptor_id
::
name
settings
type