Show Menu
TEMAS×

Búsqueda de Perfiles

La búsqueda por Perfil se utiliza para buscar e indexar los campos configurables contenidos en varias fuentes de datos y devolverlos en tiempo casi real.
Esta guía proporciona información para ayudarle a comprender mejor la búsqueda de Perfiles e incluye ejemplos de llamadas de API para realizar acciones básicas mediante la API.

Primeros pasos

Los extremos de API que se utilizan en esta guía forman parte de la API de Perfil del cliente en tiempo real. Antes de continuar, consulte la guía para desarrolladores de Perfil para clientes en tiempo real.
En particular, la sección de introducción de la guía para desarrolladores de Perfil incluye vínculos a temas relacionados, una guía para leer las llamadas de API de muestra en este documento e información importante sobre los encabezados necesarios que son necesarios para realizar llamadas con éxito a cualquier API de plataforma de experiencia.

Obtener resultados de búsqueda

El extremo de búsqueda se puede utilizar para obtener resultados de búsqueda en función de los valores del parámetro requerido y los parámetros de consulta opcionales adicionales schema.name y adicionales. Se pueden utilizar varios parámetros, separados por signos ampersands (&).
Formato API
GET /search?{QUERY_PARAMETERS}

Parámetro
Descripción
schema.name
Requerido. Nombre de la clase de esquema que contiene el contenido que se va a buscar, escrito en formato de notación de puntos. Actualmente, solo schema.name=_xdm.context.segmentdefinition se admite.
limit
Número de resultados de búsqueda que se van a devolver. El valor predeterminado es 50.
page
Número de página utilizado para paginar los resultados de la consulta buscada.
s
consulta que se ajusta a la implementación de Microsoft de la sintaxis de búsqueda de Lucene. Si no se especifica ningún término de búsqueda, se devolverán todos los registros asociados con schema.name . Encontrará una explicación más detallada en la sección Parámetros de búsqueda de este documento.
namespace
Identifica los datos reales para buscar en la clase de esquema especificada en el schema.name parámetro.
organization.type
Determina el contenido de la respuesta. El formato del contenido devuelto depende de los valores utilizados en schema.name . Por _xdm.context.segmentdefinition , los valores válidos son hierarchy o hierarchyinfo .
organization.id
Necesario si organization.type se especifica. Proporciona la jerarquía de la organización especificada cuando se utiliza con la jerarquía organization.type de jerarquía.
Solicitud
curl -X GET \
    https://platform.adobe.io/data/core/ups/search?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}'

Respuesta
Una respuesta correcta devuelve una matriz de objetos que cumplen los criterios de búsqueda. En este ejemplo, como el schema.name parámetro era _xdm.context.segmentdefinition , se devuelve una lista de definiciones de segmentos.
{
  "aam-hierarchy": {
    "_xdm.context.segmentdefinition": [
      {
        "isFolder": true,
        "id": "100023",
        "name": "Segment Definition 1",
        "description": "Sample description.",
        "parentFolderId": "99970"
      },
      {
        "isFolder": false,
        "id": "1000028",
        "name": "Segment Definition 2",
        "description": "Sample description.",
        "parentFolderId": "103584"
      }
    ]
  },
  "page": {
    "totalCount": 2,
    "totalPages": 1,
    "pageOffset": "1",
    "pageSize": 2,
    "limit": 2
  }
}

Creación de solicitudes de aprovisionamiento

Puede crear solicitudes de aprovisionamiento para habilitar la búsqueda de Perfiles en esquemas haciendo una solicitud POST al extremo del /search/provisioning/component/init .
Solicitud
Esta solicitud POST no contiene una carga útil y, por lo tanto, no requiere un encabezado Content-Type. Además, no hay encabezado de Simulador para pruebas porque todos los datos se envían a un simulador para pruebas global.
curl -X POST \
    https://platform.adobe.io/data/core/ups/search/provisioning/component/init \
    -H 'Authorization: Bearer {ACCESS_TOKEN}' \
    -H 'x-api-key: {API_KEY}' \
    -H 'x-gw-ims-org-id: {IMS_ORG}' 

Respuesta
Una respuesta correcta devuelve el estado HTTP 201 (Creado) y el siguiente mensaje:
The request has been fulfilled and resulted in a new resource being created.

Administrar solicitudes de configuración

El extremo de configuración puede utilizarse para configurar los índices, los indexadores y las conexiones de origen de datos correspondientes para una nueva organización de IMS. Se requieren dos propiedades para gestionar las solicitudes de configuración: databaseName y containerName .
databaseName representa el nombre de la base de datos de Perfil para la organización que se va a configurar.
containerName representa el nombre del contenedor rellenado por un conector de datos, que es lo que se lee durante la configuración. Existen dos valores para containerName , uno o ambos se pueden usar en la solicitud POST:
  • _xdm.content.segmentdefinition
  • _experience.audiencemanager.segmentfolder

Crear una solicitud de configuración

La siguiente llamada de API genera el origen de datos, el indizador y el índice necesarios en función de los parámetros suministrados en la carga útil de la solicitud.
Formato API
POST /search/configure

Solicitud
curl -X POST \
  https://platform.adobe.io/data/core/ups/search/configure \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer {ACCESS_TOKEN}' \
  -H 'x-api-key: {API_KEY}' \
  -H 'x-gw-ims-org-id: {IMS_ORG}' \
  -H 'x-sandbox-name: {SANDBOX_NAME}' \
  -d '{
    "databaseName": {DATABASE_NAME},
    "containerName": "_xdm.context.segmentdefinition" "_experience.audiencemanager.segmentfolder"
  }'

Respuesta
Una respuesta correcta devuelve el estado HTTP 202 (Aceptado) y un mensaje de texto sin formato.
The request has been accepted for processing, but the processing has not been completed.

Eliminar una solicitud de configuración

La siguiente llamada de API elimina las entradas de índice coincidentes y elimina el indizador y el origen de datos en función de los parámetros suministrados en la carga útil de la solicitud.
El índice en sí no se eliminará, ya que es un recurso compartido.
Formato API
DELETE /search/configure

Solicitud
curl -X DELETE \
  https://platform.adobe.io/data/core/ups/search/configure \
  -H 'Authorization: Bearer {ACCESS_TOKEN}' \
  -H 'x-api-key: {API_KEY}' \
  -H 'x-gw-ims-org-id: {IMS_ORG}' \
  -H 'x-sandbox-name: {SANDBOX_NAME}' \
  -d '{
    "databaseName": {DATABASE_NAME},
    "containerName": "_xdm.context.segmentdefinition" "_experience.audiencemanager.segmentfolder"
  }'

Respuesta
Una respuesta correcta devuelve el estado HTTP 202 (Aceptado) y un mensaje de texto sin formato.
The request has been accepted for processing, but the processing has not been completed.

Pasos siguientes

Después de leer esta guía, ahora podrá comprender mejor cómo funciona la búsqueda de Perfiles de clientes en tiempo real. Para obtener más información sobre el Perfil del cliente en tiempo real, lea la descripción general del Perfil del cliente en tiempo real. Para obtener más información sobre la segmentación, lea la información general sobre la segmentación.

Apéndice

Parámetros de búsqueda

La siguiente tabla lista los detalles específicos de cómo funciona el parámetro de búsqueda al utilizar la API de búsqueda.
Consulta de búsqueda
Descripción
foo
Busque cualquier palabra. Esto devolverá resultados si se encuentra la palabra "foo" en cualquiera de los campos en los que se puede buscar.
barra de PUBLICACIÓN Y
Una búsqueda booleana. Esto devolverá resultados si ambas palabras, "foo" y "bar", se encuentran en cualquiera de los campos en los que se puede buscar.
barra de foo OR
Una búsqueda booleana. Esto devolverá resultados si se encuentra la palabra "foo" o la palabra "bar" en cualquiera de los campos en los que se puede buscar.
Barra de foo NOT
Una búsqueda booleana. Esto devolverá resultados si se encuentra la palabra "foo" pero no se encuentra la palabra "bar" en ninguno de los campos en los que se puede buscar.
name: barra de PUBLICACIÓN Y
Una búsqueda booleana. Esto devolverá resultados si ambas palabras, "foo" y "bar", se encuentran en el campo "nombre".
run*
Búsqueda comodín. El uso de un asterisco (*) coincide con 0 o más caracteres, lo que significa que devolverá resultados si el contenido de cualquiera de los campos en los que se puede realizar la búsqueda contiene una palabra que inicio con "ejecutar". Por ejemplo, esto devolverá resultados si aparecen las palabras "se ejecuta", "se ejecuta", "se ejecuta" o "se ejecuta".
cam?
Búsqueda comodín. Uso de un signo de interrogación (?) coincide exactamente con un carácter, lo que significa que devolverá resultados si el contenido de cualquiera de los campos en los que se pueden realizar búsquedas inicio con "cam" y una letra adicional. Por ejemplo, esto devolverá resultados si aparecen las palabras "camp" o "cams", pero no devolverá resultados si aparecen las palabras "cámara" o "fogata".
"paraguas azul"
Búsqueda de frase. Esto devolverá resultados si el contenido de cualquiera de los campos en los que se puede buscar contiene la frase completa "paraguas azul".
blue\~
Una búsqueda difusa. Si lo desea, puede colocar un número entre 0 y 2 después de la virgulilla (~) para especificar la distancia de edición. Por ejemplo, "blue\~1" devolverá "blue", "blues" o "glue". La búsqueda difusa sólo se puede aplicar a términos, no frases. Sin embargo, puede anexar tildes al final de cada palabra de una frase. Por lo tanto, "acampar\~ en\~ el\~ verano\~" coincidirá con "acampar en verano".
"aeropuerto del hotel"\~5
Búsqueda de proximidad. Este tipo de búsqueda se utiliza para encontrar términos que están próximos entre sí en un documento. Por ejemplo, la frase "hotel airport"~5 encontrará los términos "hotel" y "aeropuerto" dentro de 5 palabras entre sí en un documento.
/a[0-9]+b$/
Una búsqueda de expresión normal. Este tipo de búsqueda encuentra una coincidencia basada en el contenido entre las barras diagonales "/", como se documenta en la clase RegExp. Por ejemplo, para buscar documentos que contengan "motel" o "hotel", especifique /[mh]otel/ . Las búsquedas de expresiones regulares se comparan con las palabras únicas.
Para obtener documentación más detallada sobre la sintaxis de la consulta, consulte la documentación sobre la sintaxis de la consulta de Lucene .