Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
La búsqueda de Dataverse ofrece resultados rápidos y completos en varias tablas, en una sola lista, ordenada por relevancia. También proporciona capacidades para admitir sugerencias y experiencias de autocompletado en aplicaciones.
Nota
En esta documentación para desarrolladores se describe cómo interactuar mediante programación con las API de Búsqueda de Dataverse.
Para obtener información sobre la experiencia del usuario y cómo configurar Dataverse Search para su entorno, consulte los temas siguientes:
Modo de uso
Los desarrolladores pueden usar las API de búsqueda de tres maneras diferentes:
- El SDK de Dataverse para .NET
- El punto de conexión de la API web
/api/data/v9.x - El punto de conexión de búsqueda nativa
/api/search/v2.0/
Las operaciones de búsqueda se definen como mensajes de Dataverse usando API personalizadas. En el caso de los proyectos de .NET, use el SDK para .NET.
Actualmente, el SDK no incluye clases para usar estas operaciones. En el caso de los proyectos de .NET Framework, use el comando pac modelbuilder build de la CLI de Power Platform para generar las clases *Request y *Response para estos mensajes, igual que para cualquier acción personalizada.
También puede usar las clases OrganizationRequest y OrganizationResponse.
Para obtener más información, consulte:
Operaciones de búsqueda
La búsqueda proporciona tres operaciones para respaldar una interfaz de usuario que permite buscar datos.
| Nombre del mensaje SDK Acción de API web Punto de conexión de búsqueda 2.0 |
Descripción |
|---|---|
searchqueryAcción SearchQuery /api/search/v2.0/query |
Devuelve una página de resultados de búsqueda. Consulte la consulta de búsqueda de Dataverse |
searchsuggestAcción de Sugerencia de Búsqueda /api/search/v2.0/suggest |
Proporciona sugerencias a medida que el usuario escribe texto en un campo de formulario. Consulte la Sugerencia de búsqueda de Dataverse |
searchautocompleteAcción de autocompletado de búsqueda /api/search/v2.0/autocomplete |
Ofrece autocompletado de la entrada a medida que el usuario escribe texto en un campo de formulario. Consulte Búsqueda con autocompletado de Dataverse |
Dos operaciones le ayudan a comprender si la búsqueda está habilitada y cómo está configurada.
| Nombre del mensaje SDK Función de la API web Punto de conexión de búsqueda 2.0 |
Descripción |
|---|---|
searchstatisticsFunción "searchstatistics" /api/search/v2.0/statistics |
Proporciona el tamaño de almacenamiento de la organización y el recuento de documentos. Consulte Estadísticas de búsqueda de Dataverse |
searchstatusFunción searchstatus /api/search/v2.0/status |
Estado de la búsqueda en una organización. Consulte Estado de búsqueda de Dataverse |
Usar Insomnia con la búsqueda de Dataverse
Si usa Insomnio con la API web de Dataverse, sabe lo útil que es intentar usar las API. Para obtener instrucciones sobre cómo configurar un entorno de Insomnia para autenticarse con la Dataverse Web API, consulte Use Insomnia with Dataverse Web API.
Puede usar las mismas instrucciones con las operaciones de búsqueda que usan las funciones y acciones de api web. Si desea utilizar el punto de conexión de la búsqueda nativa 2.0, cambie estas dos variables de entorno:
| Variable | Valor de la API web | Valor del punto de conexión Search 2.0 |
|---|---|---|
version |
9.2 |
2.0 |
webapiurl |
{{url}}/api/data/v{{version}}/ |
{{url}}/api/search/v{{version}}/ |
Detectar si la búsqueda está habilitada
La búsqueda de Dataverse está habilitada de forma predeterminada para entornos de producción, pero es una característica de exclusión para que pueda desactivarla incluso en un entorno de producción. Si está utilizando un entorno que no sea de producción, un administrador debe habilitarlo. Aprenda a habilitar la búsqueda en el centro de administración.
Error cuando la búsqueda no está habilitada
Si usa las operaciones de consulta, sugerencia o autocompletar cuando el entorno no está habilitado, obtendrá estos errores:
Código de error:
-2147185397Mensaje:Dataverse Search feature is disabled for this organization.
Puede detectar si el servicio de búsqueda está habilitado si comprueba la configuración en la tabla de organización o usa la operación Estado de búsqueda de Dataverse.
Comprobar la tabla de organización
La tabla Organización contiene una única fila de datos que controla cómo está configurada la organización. La columna booleana IsExternalSearchIndexEnabled indica si la búsqueda está habilitada para la organización.
Esta función devuelve el valor de propiedad IsExternalSearchIndexEnabled de la organización.
static bool IsExternalSearchIndexEnabled(IOrganizationService service) {
QueryExpression query = new QueryExpression("organization") {
ColumnSet = new ColumnSet("isexternalsearchindexenabled")
};
EntityCollection organizations = service.RetrieveMultiple(query);
return (bool)organizations.Entities.FirstOrDefault()["isexternalsearchindexenabled"];
}
Más información: Crear consultas con QueryExpression
Habilitar tablas y columnas para búsqueda
Los datos de Dataverse controlan qué tablas y columnas están habilitadas para la búsqueda.
Habilitación de tablas
Solo puede habilitar esas tablas para la búsqueda de Dataverse cuando las propiedades EntityMetadata.CanEnableSyncToExternalSearchIndex.Value y EntityMetadata.ChangeTrackingEnabled son verdaderas. Si el valor CanEnableSyncToExternalSearchIndex.CanBeChanged es falso, no puede cambiar el valor. Para más información, consulte Propiedades administradas.
Para habilitar una tabla para la búsqueda de Dataverse, establezca la propiedad EntityMetadata.SyncToExternalSearchIndex en true.
Compruebe los valores de una tabla mediante el SDK o la API web con el nombre lógico de la tabla. Reemplace account en las siguientes consultas con el nombre lógico de la tabla que desea verificar.
static void RetrieveSearchSettingsForTable(IOrganizationService service, string logicalName = "account") {
RetrieveMetadataChangesRequest request = new RetrieveMetadataChangesRequest() {
Query = new EntityQueryExpression() {
Properties = new MetadataPropertiesExpression(
"CanEnableSyncToExternalSearchIndex",
"SyncToExternalSearchIndex")
}
};
request.Query.Criteria.Conditions.Add(
new MetadataConditionExpression(
propertyName: "LogicalName",
conditionOperator: MetadataConditionOperator.Equals,
value: logicalName));
var response = (RetrieveMetadataChangesResponse)service.Execute(request);
EntityMetadata table = response.EntityMetadata.FirstOrDefault();
Console.WriteLine($"CanEnableSyncToExternalSearchIndex: {table.CanEnableSyncToExternalSearchIndex.Value}");
Console.WriteLine($"SyncToExternalSearchIndex: {table.SyncToExternalSearchIndex}");
}
Salida
CanEnableSyncToExternalSearchIndex: True
SyncToExternalSearchIndex: True
Para obtener más información, consulte:
Para obtener más información, consulte:
- Seleccionar tablas para la búsqueda de Dataverse
- Establecer propiedades administradas para la búsqueda de Dataverse
Habilitar columnas
Las columnas que se pueden buscar en la tabla dependen de si se incluyen en la vista Búsqueda rápida para cada tabla. Puede consultar la definición de la vista en la tabla Ver tabla (SavedQuery) y actualizarla mediante programación.
Para obtener más información, consulte:
Límites de protección de servicio
La búsqueda de Dataverse aplica límites mínimos, para que no se alcancen los límites comunes de la API de protección del servicio Dataverse. Gestionas estos límites de la misma manera.
La búsqueda de Dataverse permite a un usuario enviar una solicitud por segundo y cada organización está limitada a 150 solicitudes por minuto. Si supera este límite, la API devuelve un error 429 Demasiadas solicitudes . Si la API devuelve un 429 error, espere hasta el período definido en el valor del Retry-After encabezado de respuesta antes de enviar más solicitudes. El valor representa el número de segundos de espera.
Consulte también
Consulta de búsqueda de Dataverse
Sugerencia de búsqueda de Dataverse
Autocompletado de búsqueda de Dataverse
Estadísticas y estado de búsqueda de Dataverse
Búsqueda heredada de Dataverse
Configurar la búsqueda de Dataverse para su entorno