Sugerencia de búsqueda de Dataverse
Utilice esta API para respaldar una experiencia de cuadro de búsqueda más rica. Por ejemplo, cuando el usuario introduce cada carácter de su término de búsqueda, llame a esta API y complete la lista desplegable del campo de búsqueda con los resultados de consulta sugeridos.
Además de término de búsqueda, los resultados devueltos pueden verse influenciados pasando valores para los siguientes parámetros:
Name | Type | Description | Más información |
---|---|---|---|
search |
string | Requerido. El texto con el que se buscará | Parámetro de búsqueda |
entities |
string | El valor predeterminado es buscar en todas las entidades configuradas. | parámetro entities |
filter |
string | Criterios de filtrado para reducir los resultados devueltos. | parámetro filter |
fuzzy |
bool | Utilice la búsqueda borrosa para ayudar con los errores ortográficos. El valor predeterminado es false. | parámetro fuzzy |
options |
string | Las opciones son configuraciones configuradas para buscar un término de búsqueda. Por ejemplo "{ 'advancedsuggestenabled': 'true' }" . |
parámetro options |
orderby |
string | Una lista de cláusulas separadas por comas, donde cada cláusula es un nombre de atributo seguido de asc o desc . |
parámetro orderby |
top |
entero | Número de sugerencias a recuperar. El valor predeterminado es 5. | parámetro top |
Parámetros
Esta sección contiene detalles sobre los parámetros presentados en la tabla anterior.
Parámetro search
Tipo: cadena
Opcional: falso
El texto con el que se buscará Término de búsqueda debe tener al menos tres caracteres y tiene un límite de 100 caracteres.
Parámetro entities
Tipo: cadena
Opcional: verdadero
El valor predeterminado es buscar en todas las entidades configuradas. Utilice esta propiedad para limitar los resultados.
Parámetro filter
Tipo: cadena
Opcional: verdadero
Filtre los criterios para reducir los resultados devueltos en función de los registros que coincidan con los criterios del filtro.
Parámetro fuzzy
Tipo: booleano
Opcional: verdadero
Utilice la búsqueda borrosa para ayudar con los errores ortográficos. El valor predeterminado es false.
Parámetro options
Tipo: cadena
Opcional: verdadero
Las opciones son configuraciones configuradas para buscar un término de búsqueda. Las opciones válidas para sugerir consulta son:
"{ 'advancedsuggestenabled': 'true' }"
.
Parámetro orderby
Tipo: cadena
Opcional: verdadero
Una lista de cláusulas separadas por comas, donde cada cláusula es un nombre de atributo seguido de asc
o desc
.
Parámetro top
Type: int
Opcional: verdadero
Número de sugerencias a recuperar. El valor predeterminado es 5.
Response
La respuesta de la operación sugerida es una cadena de escape que incluye datos JSON.
La respuesta sin escape contiene JSON usando las siguientes propiedades.
Name | Type | Description |
---|---|---|
Error |
ErrorDetail | Proporciona información de error de la búsqueda de Azure Cognitive. |
Value |
SuggestResult [] |
Una colección de registros coincidentes. |
QueryContext |
QueryContext | El contexto de la consulta se devolvió como parte de la respuesta. Esta propiedad se usa pra la búsqueda en el backend. Está incluido para versiones de actualización de características y actualmente no se utiliza. |
Tipos de respuesta
La respuesta devuelve los siguientes tipos:
ErrorDetail
Este es el mismo ErrorDetail devuelto por la API de consulta.
SuggestResult
Proporciona el texto sugerido.
Name | Type | Description |
---|---|---|
Text |
string | Proporciona el texto sugerido. |
Document |
Dictionary<string, object> |
El documento. |
QueryContext
Este es el mismo QueryContext devuelto por la API de consulta.
Ejemplos
Los siguientes ejemplos muestran cómo usar la operación de sugerir. Cada uno de estos ejemplos pasa el valor "Cont" como parámetro de búsqueda y solicita las tres sugerencias principales.
Este ejemplo es de la muestra de SDK para operaciones de búsqueda de .NET en GitHub. El método estático OutputSearchSuggest
devuelve las tres sugerencias principales para cualquier término de búsqueda.
/// <summary>
/// Demonstrate suggest API
/// </summary>
/// <param name="service">The authenticated IOrganizationService instance to use.</param>
/// <param name="searchTerm">The term to use</param>
/// <returns></returns>
static void OutputSearchSuggest(IOrganizationService service, string searchTerm)
{
Console.WriteLine("OutputSearchSuggest START\n");
searchsuggestRequest request = new()
{
search = searchTerm,
top = 3
};
var searchsuggestResponse = (searchsuggestResponse)service.Execute(request);
SearchSuggestResults results = JsonConvert.DeserializeObject<SearchSuggestResults>(searchsuggestResponse.response);
results.Value?.ForEach(suggestion =>
{
Console.WriteLine($"\tText:{suggestion.Text}");
Console.WriteLine("\tDocument: ");
foreach (string key in suggestion.Document.Keys)
{
Console.WriteLine($"\t\t{key}: {suggestion.Document[key]}");
}
Console.WriteLine();
});
Console.WriteLine("OutputSearchSuggest END\n");
}
Salida
Cuando invoca el método OutputSearchSuggest
con una instancia autenticada de la clase ServiceClient con searchTerm
establecido en "Cont":
OutputSearchSuggest(service: serviceClient, searchTerm: "Cont");
El resultado deberá ser ahora similar a esto:
OutputSearchSuggest START
Text:{crmhit}cont{/crmhit}act
Document:
@search.objectid: 9335eda1-ef69-ee11-9ae7-000d3a88a4a2
@search.entityname: contact
@search.objecttypecode: 2
fullname: Yvonne McKay (sample)
Text:{crmhit}cont{/crmhit}act
Document:
@search.objectid: 9535eda1-ef69-ee11-9ae7-000d3a88a4a2
@search.entityname: contact
@search.objecttypecode: 2
fullname: Susanna Stubberod (sample)
Text:{crmhit}cont{/crmhit}act
Document:
@search.objectid: 9735eda1-ef69-ee11-9ae7-000d3a88a4a2
@search.entityname: contact
@search.objecttypecode: 2
fullname: Nancy Anderson (sample)
OutputSearchSuggest END
Clases de apoyo
El método OutputSearchSuggest
depende de las siguientes clases de soporte para enviar la solicitud y procesar el resultado.
Clases searchsuggestRequest y searchsuggestResponse
Estas clases se generan usando el comando Power Platform CLI pac modelbuilder build como se describe en Generar clases enlazadas anticipadamente para el SDK para .NET.
Clase ErrorDetail
Esta clase es la misma clase ErrorDetail
utilizada para el ejemplo de consulta.
Clase SuggestResults
Se usa para deserializar los datos de la propiedad searchsuggestResponse.response
.
class SearchSuggestResults
{
/// <summary>
/// Provides error information from Azure Cognitive search.
/// </summary>
[JsonProperty(PropertyName = "Error")]
public ErrorDetail? Error { get; set; }
/// <summary>
/// A collection of matching records.
/// </summary>
public List<SuggestResult>? Value { get; set; }
/// <summary>
/// The query context returned as part of response. This property is used for backend search, this is included for future feature releases, it is not currently used.
/// </summary>
public QueryContext? QueryContext { get; set; }
}
Clase SuggestResult
Objeto de resultado para sugerir resultados.
public sealed class SuggestResult
{
/// <summary>
/// Gets or sets the text.
/// </summary>
[JsonProperty(PropertyName = "text")]
public string Text { get; set; }
/// <summary>
/// Gets or sets document.
/// </summary>
[JsonProperty(PropertyName = "document")]
public Dictionary<string, object> Document { get; set; }
}
Clase QueryContext
Esta clase es la misma clase QueryContext
utilizada para el ejemplo de consulta.
Consulte también
Buscar registros de Dataverse
Consulta de búsqueda de Dataverse
Búsqueda con autocompletado de Dataverse
Estadísticas y estado de búsqueda de Dataverse
Búsqueda heredada de Dataverse
Nota
¿Puede indicarnos sus preferencias de idioma de documentación? Realice una breve encuesta. (tenga en cuenta que esta encuesta está en inglés)
La encuesta durará unos siete minutos. No se recopilan datos personales (declaración de privacidad).