En esta sección, se analizan más detalles y temas avanzados de la función de búsqueda.
Sinónimos personalizados
Document AI Warehouse proporciona una función llamada "Sinónimos personalizados" que permite a los clientes proporcionar sus propios sinónimos para sus dominios específicos. Un sinónimo, como su nombre lo indica, es una palabra similar que se usa durante la búsqueda. Si el usuario realiza una búsqueda sobre "televisión", se pueden agregar los siguientes sinónimos sin problemas y sin que el usuario lo sepa: "TV", "monitor de video" y "pantalla de video". Los términos de búsqueda originales del usuario y los sinónimos se usarán para realizar la consulta de búsqueda.
Esta función ayuda a expandir la búsqueda de un usuario y a mostrar los resultados esperados. El uso típico incluye términos de la empresa o la industria, acrónimos, jerga y lenguaje vernáculo.
Synonym, Context y SynonymSet
Document AI Warehouse presenta tres términos principales para la personalización de sinónimos:
Synonym: Un objeto Synonym representa un conjunto de palabras en el que todas tienen un significado similar.Context. Un Context representa un grupo de usuarios (como los usuarios de una industria, una división o una organización) que tienen sinónimos específicos que no usan otros grupos. Por ejemplo, es probable que los departamentos de Finanzas y Atención médica usen unSynonymSetcompletamente diferente. Los contextos se pueden especificar en el campoqueryContextde la API de Search. Por lo tanto, usar diferentes contextos para los mismos términos de búsqueda podría generar resultados de la búsqueda diferentes.SynonymSet. Un SynonymSet es una colección de sinónimos para un contexto específico.
{
"name": string,
"context": string,
"synonyms": [
{
object (Synonym)
}
]
}
Ejemplo de caso de uso
SynonymSet con contexto: "finanzas"
| "Moneda","Tipo de cambio","Dólar","Euro","Yen" |
| "Inflación","IPC","expansión económica","auge económico","precios más altos" |
| "IRS","Internal Revenue Service","US Treasury" |
| "Declaración de impuestos","1040","1120","1099","W-2" |
En el ejemplo anterior, cuando el usuario busca "Moneda" y el queryContext es "finanzas", los otros sinónimos de esa fila (es decir, cambio de divisas, dólar, euro, yen) se agregan de forma implícita a la búsqueda. Del mismo modo, si el usuario busca cualquier término en esa fila, todos los demás términos se agregan a la búsqueda final. Con el mismo ejemplo, si el usuario busca "euro", se agregan Currency, Foreign exchange, dollar y yen a la búsqueda final.
SynonymSet con contexto: "cuidado de la salud"
| "provider","clinic","hospital","doctor","therapist","specialist" |
| "Reclamo médico","Reclamo","1500","Diagnóstico","CIE-9","CIE9","CIE-10","CIE10","CPT","HCPCS" |
| "injury","trauma","hurt","wound","sore","bruise","cut","laceration","lesion","abrasion","contusion" |
Búsqueda con expansión de sinónimos personalizada
Cuando los clientes quieren buscar documentos con expansión de sinónimos personalizada, deben especificar uno o más query_context. Puedes revisar la documentación en la API de SearchDocuments.
Búsqueda de carpetas
Como sugiere el nombre, folder search solo busca en una carpeta en particular y sus subcarpetas.
Una solicitud de búsqueda de ejemplo se vería de la siguiente manera:
{
document_query {
query: "songs";,
folderNameFilter: "projects/PROJECT_NUM/locations/LOCATION/documents/888"
}
}
Histogramas
Los histogramas son una función avanzada que agrega recuentos en los datos especificados. Por ejemplo, ¿cuántos documentos de cada esquema coinciden con la búsqueda del usuario? En el caso de una base de datos relacionada con el Gobierno, si el usuario busca "Condado de Orange", un histograma del esquema de datos podría mostrar la cantidad de licencias de conducir, certificados de matrimonio o escrituras que coinciden con los criterios de búsqueda. Los histogramas respetan los permisos de acceso a los datos del usuario solicitante, por lo que solo se cuentan los documentos a los que el usuario solicitante tiene acceso.
Los histogramas pueden ser un recurso eficaz; sin embargo, recopilar y agregar todos los datos lleva tiempo.
Los histogramas no se ven afectados por los campos de paginación de la solicitud de búsqueda.
Formato general de la consulta de histograma
La HistogramQuery se define de la siguiente manera:
{
"histogramQuery": string,
"requirePreciseResultSize": boolean,
"filters": {
object (HistogramQueryPropertyNameFilter)
}
}
El campo histogram_query tiene el formato COUNT('<item to count>'). Este campo es repetitivo, lo que te permite tener más de una consulta de histograma.
El campo require_precise_result_size no está implementado.
El campo filters se analiza en la sección Filtros.
Histogramas del esquema del documento
Puedes crear histogramas de esquemas de documentos o tipos de documentos agregando esta consulta de histograma:
{
document_query {
query: "test"
},
histogram_queries: [
{
histogram_query: "count('DocumentSchemaId')"
}
]
}
Por ejemplo, el mapa dentro de HistogramQueryResult de esta consulta se vería de la siguiente manera:
histogramQueryResults: [
{
histogramQuery: "DocumentSchemaId",
histogram:
{
"projects/1234/locations/us-west/documentSchemas/5543": "22",
"projects/1234/locations/us-west/documentSchemas/5544": "2",
"projects/1234/locations/us-west/documentSchemas/5545": "4",
"projects/1234/locations/us-west/documentSchemas/5546": "122",
"projects/1234/locations/us-west/documentSchemas/5547": "256",
"projects/1234/locations/us-west/documentSchemas/5548": "1",
"projects/1234/locations/us-west/documentSchemas/5549": "5",
"projects/1234/locations/us-west/documentSchemas/5550": "15",
}
}
]
En este ejemplo, se muestra que tres esquemas de documentos coinciden con la búsqueda determinada y se indica la cantidad de documentos por esquema.
Histogramas de propiedades
Los histogramas de propiedades muestran los recuentos de las propiedades filtrables especificadas. Los histogramas de propiedades tienen el siguiente formato:
COUNT('SomeSchema.SomeProp')
// Also, you can try with:
COUNT('SomeSchema.ParentProp.SubProp')
A continuación, se muestra un ejemplo de solicitud:
histogramQueryResults: [
{
histogramQuery: "5678.text_prop",
histogram: {
some_text: "1",
More_text: "55",
Additional_text: "19"
}
}
]
En este histograma, se muestran todos los histogramas de propiedades filtrables según el criterio HistogramQueryPropertyNameFilter. Esto devuelve el recuento del uso de la propiedad (a diferencia del recuento de los valores).
El HistogramQueryPropertyNameFilter se define de la siguiente manera:
{
"documentSchemas": [
string
],
"propertyNames": [
string
],
"yAxis": enum (HistogramYAxis)
}
Puedes limitar los resultados a un conjunto de esquemas de documentos completando el campo repetible llamado document_schemas con hasta 10 campos schema_ID. Las propiedades agregadas se pueden reducir de forma opcional con el campo property_names repetible.
El campo y_axis determina cómo se cuentan las propiedades. Si no se establece o se configura como HISTOGRAM_YAXIS_DOCUMENT, la función de histograma solo cuenta el uso único de la propiedad. Si y_axis se establece en HISTOGRAM_YAXIS_PROPERTY, el histograma cuenta todo el uso de la propiedad. Por ejemplo:
Documento 1: Payments_property: [AMEX, VISA]
Documento 2: Payments_property: [MC]
`HISTOGRAM_YAXIS_DOCUMENT` would return:
Payments_property: 2
_Explanation_: The `Payments_property` is found in two documents
`HISTOGRAM_YAXIS_PROPERTY` would return:
Payments_property: 3
_Explanation_: The `Payments_property` has three values in the documents found
A continuación, se muestra una consulta de ejemplo simple:
{
document_query {
},
histogram_queries: [
{
histogramQuery: "count('FilterableProperties')";
}
]
}
A continuación, se muestra una respuesta de ejemplo a la búsqueda anterior:
histogramQueryResults: [
{
histogramQuery: "FilterableProperties",
histogram: {
456.int_prop: "4",
456.text_prop: "26"
}
}
]
Para filtrar los resultados de count('FilterableProperties')) por esquemas, consulta la siguiente solicitud:
{
document_query: {
},
histogram_queries: [
{
histogram_query: "count('FilterableProperties')",
filters: {
document_schemas: [
"projects/1234/locations/us-west/documentSchemas/678",
"projects/1234/locations/us-west/documentSchemas/456"
]
}
}
]
}
Para filtrar los resultados de count('FilterableProperties') según propiedades específicas, consulta la siguiente solicitud:
{
document_query: {
},
histogram_queries: [
{
histogram_query: "count('FilterableProperties')",
filters: {
property_names: [
"678.MORTAGE_TYPE",
"456.language_code"
]
}
}
]
}
Para ver el recuento de propiedades de count("FilterableProperties"), cambia el eje Y a HISTOGRAM_YAXIS_PROPERTY de la siguiente manera:
{
document_query: {
},
histogram_queries: [
{
histogram_query: "count('FilterableProperties')",
filters: {
y_axis: "HISTOGRAM_YAXIS_PROPERTY"
}
}
]
}
Próximos pasos
- Ir al motor de políticas
- Visita la referencia de REST.