Show Menu
TÓPICOS×

Pesquisa de segmento

A Pesquisa de segmento é usada para pesquisar e indexar campos configuráveis contidos em várias fontes de dados e retorná-los em tempo quase real.
Este guia fornece informações para ajudá-lo a entender melhor a Pesquisa de segmentos e inclui exemplos de chamadas de API para executar ações básicas usando a API.

Introdução

Os pontos finais da API usados neste guia fazem parte da API de segmentação. Antes de continuar, consulte o guia do desenvolvedor de Segmentação.
Em particular, a seção de introdução do guia do desenvolvedor de Segmentação inclui links para tópicos relacionados, um guia para ler as chamadas de API de amostra neste documento e informações importantes sobre os cabeçalhos necessários que são necessários para fazer chamadas com êxito para a API da plataforma de experiência.
Além dos cabeçalhos necessários descritos na seção de introdução, todas as solicitações para a API de pesquisa de segmento exigem o seguinte cabeçalho adicional:
  • x-ups-search-version: "1.0"

Pesquisar em várias namespaces

Esse ponto de extremidade de pesquisa pode ser usado para pesquisar por várias namespaces, retornando uma lista de resultados de contagem de pesquisa. Vários parâmetros podem ser usados, separados por E comercial (&).
Formato da API
GET /search/namespaces?schema.name={SCHEMA}
GET /search/namespaces?schema.name={SCHEMA}&s={SEARCH_TERM}

Parâmetros
Descrição
schema.name={SCHEMA}
(Obrigatório) Em que representa o valor da classe do schema associado aos objetos de pesquisa. Atualmente, somente _xdm.context.segmentdefinition é suportado.
s={SEARCH_TERM}
(Opcional) Onde representa um query que está em conformidade com a implementação da Microsoft da sintaxe de pesquisa de Lucene. Se nenhum termo de pesquisa for especificado, todos os registros associados schema.name serão retornados. O apêndice deste documento contém uma explicação mais detalhada.
Solicitação
curl -X GET \
    https://platform.adobe.io/data/core/ups/search/namespaces?schema.name=_xdm.context.segmentdefinition \
    -H 'Authorization: Bearer {ACCESS_TOKEN}' \
    -H 'Content-Type: application/json' \
    -H 'x-api-key: {API_KEY}' \
    -H 'x-gw-ims-org-id: {IMS_ORG}' \
    -H 'x-sandbox-name: {SANDBOX_NAME}' \
    -H 'x-ups-search-version: 1.0' 

Resposta
Uma resposta bem-sucedida retorna o status HTTP 200 com as seguintes informações.
{
  "namespaces": [
    {
      "namespace": "AAMTraits",
      "displayName": "AAMTraits",
      "count": 45
    },
    {
      "namespace": "AAMSegments",
      "displayName": "AAMSegment",
      "count": 10
    },
    {
      "namespace": "SegmentsAISegments",
      "displayName": "SegmentSAISegment",
      "count": 3
    }
  ],
  "totalCount": 3,
  "status": {
    "message": "Success"
  }
}

Pesquisar entidades individuais

Esse ponto de extremidade de pesquisa pode ser usado para recuperar uma lista de todos os objetos indexados de texto completo dentro da namespace especificada. Vários parâmetros podem ser usados, separados por E comercial (&).
Formato da API
GET /search/entities?schema.name={SCHEMA}&namespace={NAMESPACE}
GET /search/entities?schema.name={SCHEMA}&namespace={NAMESPACE}&s={SEARCH_TERM}
GET /search/entities?schema.name={SCHEMA}&namespace={NAMESPACE}&entityId={ENTITY_ID}

Parâmetros
Descrição
schema.name={SCHEMA}
(Obrigatório) Onde contém o valor da classe do schema associado aos objetos de pesquisa. Atualmente, somente _xdm.context.segmentdefinition é suportado.
namespace={NAMESPACE}
(Obrigatório) Onde contém a namespace na qual você deseja pesquisar.
s={SEARCH_TERM}
(Opcional) Onde contém um query que está em conformidade com a implementação da Microsoft da sintaxe de pesquisa de Lucene. Se nenhum termo de pesquisa for especificado, todos os registros associados schema.name serão retornados. O apêndice deste documento contém uma explicação mais detalhada.
entityId={ENTITY_ID}
(Opcional) Limita sua pesquisa à pasta designada, especificada com .
limit={LIMIT}
(Opcional) Onde representa o número de resultados de pesquisa a serem retornados. O valor padrão é 50.
page={PAGE}
(Opcional) Onde representa o número de página usado para paginar os resultados do query pesquisado. Observe que o número de página start em 0 .
Solicitação
curl -X GET \
    https://platform.adobe.io/data/core/ups/search/entities?schema.name=_xdm.context.segmentdefinition&namespace=AAMSegments \
    -H 'Authorization: Bearer {ACCESS_TOKEN}' \
    -H 'Content-Type: application/json' \
    -H 'x-api-key: {API_KEY}' \
    -H 'x-gw-ims-org-id: {IMS_ORG}' \
    -H 'x-sandbox-name: {SANDBOX_NAME}' \
    -H 'x-ups-search-version: 1.0' 

Resposta
Uma resposta bem-sucedida retorna o status HTTP 200 com resultados que correspondem ao query de pesquisa.
{
  "entities": [
    {
       "id": "1012667",
       "base64EncodedSourceId": "RFVGamdydHpEdy01ZTE1ZGJlZGE4YjAxMzE4YWExZWY1MzM1",
       "sourceId": "DUFjgrtzDw-5e15dbeda8b01318aa1ef533",
       "isFolder": true,
       "parentFolderId": "974139",
       "name": "aam-47995 verification (100)"
    },
    {
       "id": "14653311",
       "base64EncodedSourceId": "REVGamduLVgzdy01ZTE2ZjRhNjc1ZDZhMDE4YThhZDM3NmY1",
       "sourceId": "DEFjgn-X3w-5e16f4a675d6a018a8ad376f",
       "isFolder": false,
       "parentFolderId": "324050",
       "name": "AAM - Heavy equipment",
       "description": "AAM - Acme Equipment"
    }
 
 ],
  "page": {
    "totalCount": 2,
    "totalPages": 1,
    "pageOffset": 0,
    "pageSize": 10
  },
  "status": {
    "message": "Success"
  }
}

Obter informações estruturais sobre um objeto de pesquisa

Esse terminal de pesquisa pode ser usado para obter informações estruturais sobre o objeto de pesquisa solicitado.
Formato da API
GET /search/taxonomy?schema.name={SCHEMA}&namespace={NAMESPACE}&entityId={ENTITY_ID}

Parâmetros
Descrição
schema.name={SCHEMA}
(Obrigatório) Onde contém o valor da classe do schema associado aos objetos de pesquisa. Atualmente, somente _xdm.context.segmentdefinition é suportado.
namespace={NAMESPACE}
(Obrigatório) Onde contém a namespace na qual você deseja pesquisar.
entityId={ENTITY_ID}
(Obrigatório) A ID do objeto de pesquisa sobre o qual você deseja obter as informações estruturais, especificadas com .
Solicitação
curl -X GET \
    https://platform.adobe.io/data/core/ups/search/taxonomy?schema.name=_xdm.context.segmentdefinition&namespace=AAMSegments&entityId=porsche11037 \
    -H 'Authorization: Bearer {ACCESS_TOKEN}' \
    -H 'Content-Type: application/json' \
    -H 'x-api-key: {API_KEY}' \
    -H 'x-gw-ims-org-id: {IMS_ORG}' \
    -H 'x-sandbox-name: {SANDBOX_NAME}' \
    -H 'x-ups-search-version: 1.0' 

Resposta
Uma resposta bem-sucedida retorna o status HTTP 200 com informações estruturais detalhadas sobre o objeto de pesquisa solicitado.
{
    "taxonomy": [
        {
            "id": "0",
            "base64EncodedSourceId": "RFVGZ01BLTVlNjgzMGZjMzk3YjQ1MThhYWExYTA4Zg2",
            "name": "AAMTraits for Cars",
            "parentFolderId": "root"
        },
        {
            "id": "150561",
            "base64EncodedSourceId": "RFVGamdpRk1BZy01ZTY4MzBmYzM5N2I0NTE4YWFhMWEwOGY1",
            "name": "Fast Cars",
            "parentFolderId": "carTraits"
        },
        {
            "id": "porsche11037",
            "base64EncodedSourceId": "REFGZ01CLTVlNjczMGZjMzk3YjQ1MThhZGIxYTA4Zg==",
            "name": "Porsche",
            "parentFolderId": "redCarsFolderId"
        }
    ],
    "status": {
        "message": "Success"
    }
}

Próximas etapas

Depois de ler este guia, agora você tem uma melhor compreensão de como a Pesquisa de segmentos funciona. Para obter mais informações sobre Segmentação, leia a visão geral da Segmentação.

Apêndice

As seções a seguir fornecem informações adicionais sobre como os termos de pesquisa funcionam. Os query de pesquisa são escritos da seguinte maneira: s={FieldName}:{SearchExpression} . Assim, por exemplo, para pesquisar por um segmento chamado AAM ou Plataforma, você usaria o seguinte query de pesquisa: s=segmentName:AAM%20OR%20Platform .
! Para práticas recomendadas, a expressão de pesquisa deve ser codificada em HTML, como o exemplo mostrado acima.

Campos de pesquisa

A tabela a seguir lista os campos que podem ser pesquisados dentro do parâmetro do query de pesquisa.
Nome do campo
Descrição
folderId
A pasta ou pastas que têm a ID da pasta da pesquisa especificada.
folderLocation
O local ou locais que têm o local da pasta da pesquisa especificada.
parentFolderId
O segmento ou pasta que tem a ID da pasta pai da pesquisa especificada.
segmentId
O segmento corresponde à ID do segmento da pesquisa especificada.
segmentName
O segmento corresponde ao nome do segmento da pesquisa especificada.
segmentDescription
O segmento corresponde à descrição do segmento de sua pesquisa especificada.

expressão de pesquisa

A tabela a seguir lista os detalhes de como os query de pesquisa funcionam ao usar a API de pesquisa de segmento.
! Os exemplos a seguir são mostrados em um formato não codificado em HTML para maior clareza. Para as práticas recomendadas, o HTML codifica sua expressão de pesquisa.
Exemplo de expressão de pesquisa
Descrição
foo
Procure qualquer palavra. Isso retornará os resultados se a palavra "foo" for encontrada em qualquer um dos campos pesquisáveis.
foo E barra
Uma pesquisa booleana. Isso retornará os resultados se ambas as palavras "foo" e "barra" forem encontradas em qualquer um dos campos pesquisáveis.
barra OU do rodapé
Uma pesquisa booleana. Isso retornará os resultados se ​a palavra "foo" ou a palavra "barra" forem encontradas em qualquer um dos campos pesquisáveis.
barra Foo NOT
Uma pesquisa booleana. Isso retornará os resultados se a palavra "foo" for encontrada, mas a palavra "barra" não for encontrada em nenhum dos campos pesquisáveis.
name: foo E barra
Uma pesquisa booleana. Isso retornará os resultados se ambas as palavras "foo" e "bar" forem encontradas no campo "nome".
run*
Uma pesquisa curinga. Usar um asterisco (*) corresponde a 0 ou mais caracteres, o que significa que retornará resultados se o conteúdo de qualquer um dos campos pesquisáveis contiver uma palavra que seja start com "executar". Por exemplo, isso retornará os resultados se as palavras "executa", "executa", "runner" ou "runt" forem exibidas.
cam?
Uma pesquisa curinga. Usando um ponto de interrogação (?) corresponde somente a exatamente um caractere, o que significa que retornará resultados se o conteúdo de qualquer um dos start de campos pesquisáveis for exibido com "cam" e uma letra adicional. Por exemplo, isso retornará os resultados se as palavras "acampamento" ou "cams" forem exibidas, mas não retornará os resultados se as palavras "câmera" ou "fogueira" forem exibidas.
"guarda-chuva azul"
Uma pesquisa de frases. Isso retornará os resultados se o conteúdo de qualquer um dos campos pesquisáveis contiver a frase completa "guarda-chuva azul".
azul\~
Uma busca indistinta. Opcionalmente, você pode colocar um número entre 0 e 2 após o til (~) para especificar a distância de edição. Por exemplo, "azul\~1" seria "azul", "azul" ou "cola". A pesquisa indistinta pode ser aplicada a termos, não a frases. Entretanto, é possível anexar tildes ao final de cada palavra em uma frase. Assim, por exemplo, "acampando\~ em\~ o\~ verão\~" corresponderia a "acampamento no verão".
"aeroporto de hotel"\~5
Uma busca de proximidade. Esse tipo de pesquisa é usado para encontrar termos próximos uns dos outros em um documento. Por exemplo, a frase "hotel airport"~5 encontrará os termos "hotel" e "aeroporto" em até 5 palavras entre si em um documento.
/a[0-9]+b$/
Uma pesquisa de expressão regular. Esse tipo de pesquisa encontra uma correspondência com base no conteúdo entre barras iniciais "/", conforme documentado na classe RegExp. Por exemplo, para localizar documentos contendo "motel" ou "hotel", especifique /[mh]otel/ . Pesquisas expressões regulares são comparadas com palavras únicas.
Para obter uma documentação mais detalhada sobre a sintaxe do query, leia a documentação da sintaxe do query Lucene.