Esdeveniment
Crea aplicacions intel·ligents
17 de març, 21 - 21 de març, 10
Uneix-te a la sèrie de trobades per crear solucions d'IA escalables basades en casos d'ús del món real amb altres desenvolupadors i experts.
Registreu-vos-hi araAquest navegador ja no s’admet.
Feu l’actualització al Microsoft Edge per aprofitar les característiques més recents, les actualitzacions de seguretat i l’assistència tècnica.
Azure Cosmos DB for NoSQL ofrece ahora una eficaz característica de búsqueda de texto completo en versión preliminar, diseñada para mejorar las funcionalidades de búsqueda de las aplicaciones.
Nota
El texto completo y la búsqueda híbrida se encuentra en versión preliminar temprana y es posible que no esté disponible en todas las regiones en este momento.
Azure Cosmos DB for NoSQL ofrece ahora una eficaz característica de búsqueda de texto completo en versión preliminar, diseñada para mejorar las funcionalidades de consulta de datos. Esta característica incluye técnicas avanzadas de procesamiento de texto, como lematización, detención de eliminación de palabras y tokenización, lo que permite búsquedas de texto eficaces y eficaces a través de un índice de texto especializado. La búsqueda de texto completo también incluye puntuación de texto completo con una función que evalúa la relevancia de los documentos en una consulta de búsqueda determinada. BM25, o Best Matching 25, tiene en cuenta factores como la frecuencia de términos, la frecuencia inversa de documentos y la longitud del documento para puntuar y clasificar los documentos. Esto ayuda a garantizar que los documentos más relevantes aparezcan en la parte superior de los resultados de búsqueda, mejorando la precisión y la utilidad de las búsquedas de texto.
Búsqueda de texto completo es ideal para una variedad de escenarios, entre los que se incluyen:
Nota
Es posible que el texto completo y la búsqueda híbrida (versión preliminar) no estén disponibles en todas las regiones en este momento.
La búsqueda de texto completo, la puntuación de texto completo y la búsqueda híbrida requieren habilitar la característica de vista previa en la cuenta de Azure Cosmos DB for NoSQL antes de usarla. Siga los pasos siguientes para registrarse:
Para usar las funcionalidades de búsqueda de texto completo, primero deberá definir dos directivas:
Para cada propiedad de texto que desee configurar para la búsqueda de texto completo, debe declarar tanto path
de la propiedad con texto y language
del texto. Una directiva de texto completo simple puede ser:
{
"defaultLanguage": "en-US",
"fullTextPaths": [
{
"path": "/text",
"language": "en-US"
}
]
}
La definición de varias rutas de acceso de texto se realiza fácilmente agregando otro elemento a la matriz fullTextPolicy
:
{
"defaultLanguage": "en-US",
"fullTextPaths": [
{
"path": "/text1",
"language": "en-US"
},
{
"path": "/text2",
"language": "en-US"
}
]
}
Nota
Inglés ("en-us" como idioma) es el único idioma admitido en este momento.
Important
Los caracteres comodín (*, []) no se admiten actualmente en la directiva de texto completo o en el índice de texto completo.
Las operaciones de búsqueda de texto completo deben usar un índice de texto completo. Un índice de texto completo se puede definir fácilmente en cualquier directiva de índice de Azure Cosmos DB for NoSQL según el ejemplo siguiente.
{
"indexingMode": "consistent",
"automatic": true,
"includedPaths": [
{
"path": "/*"
}
],
"excludedPaths": [
{
"path": "/\"_etag\"/?"
},
],
"fullTextIndexes": [
{
"path": "/text"
}
]
}
Al igual que con las directivas de texto completo, los índices de texto completo se pueden definir en varias rutas de acceso.
{
"indexingMode": "consistent",
"automatic": true,
"includedPaths": [
{
"path": "/*"
}
],
"excludedPaths": [
{
"path": "/\"_etag\"/?"
},
],
"fullTextIndexes": [
{
"path": "/text"
},
{
"path": "/text2"
}
]
}
Las operaciones de búsqueda y puntuación de texto completo se realizan mediante las siguientes funciones del sistema en el lenguaje de consulta De Azure Cosmos DB for NoSQL:
FullTextContains
: devuelve true
si una cadena determinada está contenida en la propiedad especificada de un documento. Esto resulta útil en una cláusula WHERE
cuando desea asegurarse de que las palabras clave específicas se incluyen en los documentos devueltos por la consulta.FullTextContainsAll
: devuelve true
si todas las cadenas especificadas están contenidas en la propiedad especificada de un documento. Esto resulta útil en una cláusula WHERE
cuando desea asegurarse de que se incluyen varias palabras clave en los documentos devueltos por la consulta.FullTextContainsAny
: devuelve true
si alguna de las cadenas especificadas está contenida en la propiedad especificada de un documento. Esto resulta útil en una cláusula WHERE
cuando desea asegurarse de que al menos una de las palabras clave se incluye en los documentos devueltos por la consulta.FullTextScore
: devuelve una puntuación. Esto solo se puede usar en una cláusula ORDER BY RANK
, donde los documentos devueltos se ordenan por la clasificación de la puntuación de texto completo, con los documentos más relevantes (puntuación más alta) en la parte superior y los documentos menos relevantes (puntuación más baja) en la parte inferior.Estos son algunos ejemplos de cada función en uso.
En este ejemplo, queremos obtener los primeros 10 resultados donde la palabra clave "bicicleta" está contenida en la propiedad c.text
.
SELECT TOP 10 *
FROM c
WHERE FullTextContains(c.text, "bicycle")
En este ejemplo, queremos obtener los primeros 10 resultados donde las palabras clave "rojo" y "bicicleta" están contenidas en la propiedad c.text
.
SELECT TOP 10 *
FROM c
WHERE FullTextContainsAll(c.text, "red", "bicycle")
En este ejemplo, queremos obtener los primeros 10 resultados donde las palabras clave "rojo" y "bicicleta" o "skateboard" se encuentran en la propiedad c.text
.
SELECT TOP 10 *
FROM c
WHERE FullTextContains(c.text, "red") AND FullTextContainsAny(c.text, "bicycle", "skateboard")
En este ejemplo, queremos obtener los primeros 10 resultados en los que se incluyen "mountain" y "bicycle" y se ordenan por orden de relevancia. Es decir, los documentos que tienen estos términos con más frecuencia deben aparecer más arriba en la lista.
SELECT TOP 10 *
FROM c
ORDER BY RANK FullTextScore(c.text, ["bicycle", "mountain"])
Important
FullTextScore solo se puede usar en la cláusula ORDER BY RANK
y no se proyecta en la instrucción SELECT
o en una cláusula WHERE
.
Esdeveniment
Crea aplicacions intel·ligents
17 de març, 21 - 21 de març, 10
Uneix-te a la sèrie de trobades per crear solucions d'IA escalables basades en casos d'ús del món real amb altres desenvolupadors i experts.
Registreu-vos-hi araFormació
Ruta d'aprenentatge
Definición e implementación de una estrategia de indexación para Azure Cosmos DB for NoSQL
Certificació
Microsoft Certified: Azure Cosmos DB Developer Specialty - Certifications
Escribe consultas eficaces, crea directivas de indexación, administra y aprovisiona recursos en la API de SQL y el SDK con Microsoft Azure Cosmos DB.