Dela via


Funktioner för fulltextsökning i Azure Cosmos DB för MongoDB (virtuell kärna)

Fulltextsökningsfunktioner i vCore-baserade Azure Cosmos DB for MongoDB ger kraftfulla funktioner för dokumentsökning utöver traditionella frågemetoder. Den här avancerade söktekniken gör det möjligt för användare att identifiera relevant innehåll baserat på bearbetning av naturligt språk, ordvariationer och kontextuell relevans – inte bara exakta matchningar.

Den integrerade textsökmotorn tar bort behovet av externa söktjänster. Detta förenklar databasarkitekturen. Den använder specialiserade textindex för att effektivt hantera sökåtgärder. Systemet bearbetar, tokeniserar och analyserar dokumentinnehåll. Därför kan dina program snabbt hitta dokument som innehåller specifika nyckelord, fraser eller relaterade termer.

Anmärkning

Fulltextsökningen i vCore-baserade Azure Cosmos DB for MongoDB använder ett PostgreSQL-TSVector-index under huven, med stöd för MongoDB:s $text operatör.

Funktionalitetssupport

Egenskap Supportnivå Beskrivning Exempelfråga
Tokenisering Understödd Delar upp text i enskilda token med TSVector Inte tillämpligt
Stammen Understödd Konverterar böjda ord till deras rotformulär baserat på språkanalysverktyg Inte tillämpligt
Språkstöd Delvis stöd Stöder vanliga språk som danska (da), nederländska (nl), engelska (en), finska (fi), franska (fr), tyska (de), ungerska (hu), italienska (it), norska (nb), portugisiska (pt), rumänska (ro), ryska (ru), spanska (es), svenska (sv), turkiska (tr) db.text_search.find({ "$text": { "$search": "leche", "$language": "es" } })
Termbaserad sökning Understödd Exakt termsökning i indexerade fält db.movies.find({ "$text": { "$search": "surfer" } })
Frassökning Delvis stöd Exakt frasmatchning med citattecken. Det finns vissa kompatibilitetsproblem. db.text_search.find({ "$text": { "$search": "\"are cats\"" } })
Fråga med prefix Understödd Hitta termer som börjar med ett mönster med regex db.articles.find({ title: { $regex: /^data/i } })
Sökning med jokertecken Understödd Matcha flexibla mönster med regex + $text db.articles.find({ $and: [ { $text: { $search: "hello" } }, { title: { $regex: /.*world.*/i } } ] })
Regex-sökning Understödd Använda reguljära uttryck för flexibel textmönstermatchning db.articles.find({ title: { $regex: /^hello.*world$/i } })
Booleska operatorer Understödd Använd +, - för att inkludera/exkludera villkor db.text_search.find({ "$text": { "$search": "cafe +con" } })
Fleramatchningar Delvis stöd Fråga med flera fält via kombinerat index med vikter db.myColl.createIndex({ title: "text", genre: "text" }, { default_language: "english", weights: { title: 10, genre: 3 } })
Fasetterad sökning Ej tillgänglig Filtrera sökresultat efter kategorier eller taggar (t.ex. varumärke, färg, pris). Stöds inte inbyggt i textsökning med vCore. Inte tillämpligt
Komplettera automatiskt och öka Ej tillgänglig Automatisk komplettering (förslag under skrivning) och förstärkning av specifika termer under frågetid stöds inte. Ökning kan endast ske på indexnivå genom fältvikter. Inte tillämpligt
Anpassade analysverktyg Ej tillgänglig Anpassad tokenisering eller filtrering stöds inte Inte tillämpligt
Stöd för synonymer Ej tillgänglig Inget internt stöd för synonymer Inte tillämpligt
Fuzzy-sökning Ej tillgänglig Inget typotolerant eller fuzzy-matchningsstöd Inte tillämpligt
Närhetssökning Ej tillgänglig Det går inte att söka efter termer inom specifika ordavstånd Inte tillämpligt

Nästa steg