Ekinlikler
17 Mar 21 - 21 Mar 10
Diğer geliştiriciler ve uzmanlarla gerçek dünyadaki kullanım örneklerini temel alan ölçeklenebilir yapay zeka çözümleri oluşturmak için toplantı serisine katılın.
Hemen kaydolunBu tarayıcı artık desteklenmiyor.
En son özelliklerden, güvenlik güncelleştirmelerinden ve teknik destekten faydalanmak için Microsoft Edge’e yükseltin.
NoSQL için Azure Cosmos DB artık uygulamalarınızın arama özelliklerini geliştirmek için tasarlanmış, önizleme aşamasında güçlü bir Tam Metin Arama özelliği sunuyor.
Not
Tam Metin ve Karma Arama erken önizleme aşamasındadır ve şu anda tüm bölgelerde kullanılamayabilir.
NoSQL için Azure Cosmos DB artık veri sorgulama özelliklerinizi geliştirmek için tasarlanmış, önizleme aşamasında güçlü bir Tam Metin Arama özelliği sunuyor. Bu özellik, sözcük kaldırmayı durdurma ve belirteç oluşturma gibi gelişmiş metin işleme tekniklerini içerir ve özel bir metin dizini aracılığıyla verimli ve etkili metin aramalarına olanak tanır. Tam metin araması, belgelerin belirli bir arama sorgusuyla olan ilgi düzeyini değerlendiren bir işlevle tam metin puanlaması da içerir. BM25 veya En İyi Eşleşen 25, belgeleri puanlayıp sıralamak için terim sıklığı, ters belge sıklığı ve belge uzunluğu gibi faktörleri dikkate alır. Bu, en uygun belgelerin arama sonuçlarının en üstünde görünmesini sağlayarak metin aramalarının doğruluğunu ve kullanışlılığını artırmaya yardımcı olur.
Tam Metin Arama, aşağıdakileri içeren çeşitli senaryolar için idealdir:
Not
Tam Metin ve Karma Arama (önizleme) şu anda tüm bölgelerde kullanılamayabilir.
Tam metin araması, tam metin puanlaması ve karma arama için, kullanmadan önce NoSQL için Azure Cosmos DB hesabınızda önizleme özelliğini etkinleştirmeniz gerekir. Kaydolmak için aşağıdaki adımları izleyin:
Tam metin arama özelliklerini kullanmak için önce iki ilke tanımlamanız gerekir:
Tam metin araması için yapılandırmak istediğiniz her metin özelliği için hem özelliğin hem de path
metnin metnini language
bildirmeniz gerekir. Basit bir tam metin ilkesi şöyle olabilir:
{
"defaultLanguage": "en-US",
"fullTextPaths": [
{
"path": "/text",
"language": "en-US"
}
]
}
Diziye başka bir öğe fullTextPolicy
ekleyerek birden çok metin yolunu tanımlama işlemi kolayca yapılır:
{
"defaultLanguage": "en-US",
"fullTextPaths": [
{
"path": "/text1",
"language": "en-US"
},
{
"path": "/text2",
"language": "en-US"
}
]
}
Not
Şu anda desteklenen tek dil İngilizcedir ("dil olarak en-us").
Önemli
Joker karakterler (*, []) şu anda tam metin ilkesinde veya tam metin dizininde desteklenmiyor.
Tüm tam metin arama işlemleri, tam metin dizininden yararlanmalıdır. Tam metin dizini, aşağıdaki örneğe göre herhangi bir NoSQL için Azure Cosmos DB dizin ilkesinde kolayca tanımlanabilir.
{
"indexingMode": "consistent",
"automatic": true,
"includedPaths": [
{
"path": "/*"
}
],
"excludedPaths": [
{
"path": "/\"_etag\"/?"
},
],
"fullTextIndexes": [
{
"path": "/text"
}
]
}
Tam metin ilkelerinde olduğu gibi, tam metin dizinleri de birden çok yolda tanımlanabilir.
{
"indexingMode": "consistent",
"automatic": true,
"includedPaths": [
{
"path": "/*"
}
],
"excludedPaths": [
{
"path": "/\"_etag\"/?"
},
],
"fullTextIndexes": [
{
"path": "/text"
},
{
"path": "/text2"
}
]
}
Tam metin arama ve puanlama işlemleri, NoSQL için Azure Cosmos DB sorgu dilinde aşağıdaki sistem işlevleri kullanılarak gerçekleştirilir:
FullTextContains
: Belirli bir dize belgenin belirtilen özelliğinde yer alırsa döndürür true
. Bu, sorgunuz tarafından döndürülen belgelere belirli anahtar sözcüklerin eklendiğinden emin olmak istediğinizde bir WHERE
yan tümcede yararlıdır.FullTextContainsAll
: Verilen dizelerin tümü belgenin belirtilen özelliğinde yer alırsa döndürürtrue
. Bu, sorgunuz tarafından döndürülen belgelere birden çok anahtar sözcüğün eklendiğinden emin olmak istediğinizde bir WHERE
yan tümcede yararlıdır.FullTextContainsAny
: Verilen dizelerden herhangi biri belgenin belirtilen özelliğinde yer alırsa döndürürtrue
. Bu, anahtar sözcüklerden en az birinin sorgunuz tarafından döndürülen belgelere eklendiğinden emin olmak istediğinizde bir WHERE
yan tümcede yararlıdır.FullTextScore
: Bir puan döndürür. Bu yalnızca, döndürülen belgelerin tam metin puanının sırasına göre sıralandığı, en ilgili (en yüksek puanlama) belgelerin en üstte ve en az ilgili (en düşük puanlama) belgelerin en altında olduğu bir ORDER BY RANK
yan tümcede kullanılabilir.Kullanımdaki her işleve birkaç örnek aşağıda verilmiştir.
Bu örnekte, özelliğinde c.text
"bisiklet" anahtar sözcüğünü içeren ilk 10 sonucu elde etmek istiyoruz.
SELECT TOP 10 *
FROM c
WHERE FullTextContains(c.text, "bicycle")
Bu örnekte, özelliğinde c.text
"kırmızı" ve "bisiklet" anahtar sözcüklerinin bulunduğu ilk 10 sonuç elde etmek istiyoruz.
SELECT TOP 10 *
FROM c
WHERE FullTextContainsAll(c.text, "red", "bicycle")
Bu örnekte, özelliğinde c.text
"kırmızı" ve "bisiklet" veya "kaykay" anahtar sözcüklerinin bulunduğu ilk 10 sonucu elde etmek istiyoruz.
SELECT TOP 10 *
FROM c
WHERE FullTextContains(c.text, "red") AND FullTextContainsAny(c.text, "bicycle", "skateboard")
Bu örnekte, "dağ" ve "bisiklet"in dahil edildiği ve ilgi sırasına göre sıralandığı ilk 10 sonucu elde etmek istiyoruz. Başka bir ifadeyle, bu terimleri daha sık içeren belgelerin listede daha yüksek görünmesi gerekir.
SELECT TOP 10 *
FROM c
ORDER BY RANK FullTextScore(c.text, ["bicycle", "mountain"])
Önemli
FullTextScore yalnızca yan tümcesinde ORDER BY RANK
kullanılabilir ve deyiminde SELECT
veya yan WHERE
tümcesinde yansıtılamaz.
Ekinlikler
17 Mar 21 - 21 Mar 10
Diğer geliştiriciler ve uzmanlarla gerçek dünyadaki kullanım örneklerini temel alan ölçeklenebilir yapay zeka çözümleri oluşturmak için toplantı serisine katılın.
Hemen kaydolunEğitim
Öğrenme yolu
Define and implement an indexing strategy for Azure Cosmos DB for NoSQL - Training
Define and implement an indexing strategy for Azure Cosmos DB for NoSQL
Sertifikasyon
Microsoft Certified: Azure Cosmos DB Developer Specialty - Certifications
Write efficient queries, create indexing policies, manage, and provision resources in the SQL API and SDK with Microsoft Azure Cosmos DB.