|
|
PostitatudEile kell 20:20
|
|
|
|

Täistekstotsing on SQL Serveri andmebaasimootori valikuline komponent. Kui sa ei valinud SQL Serveri paigaldamisel täisteksti otsingut, käivita SQL Serveri installer uuesti, et see lisada.
Ülevaade
Täisteksti indeks sisaldab ühte või mitut tähemärgipõhist veergu tabelis. Need veergud võivad sisaldada mõnda järgmistest andmetüüpidest: char, varchar, nchar, nvarchar, text, ntext, image, xml või varbinary(max) ning FILESTREAM. Iga täistekstindeks loob tabelis ühe või mitme veeru jaoks indeksi ning iga veerg võib kasutada kindlat keelt.
Täistekstipäringud töötavad sõnade ja fraaside peal vastavalt konkreetsete keelte reeglitele (näiteks inglise või jaapani keel), tehes seega keeleotsinguid täisteksti indeksi tekstiandmete põhjal. Täistekstilised päringud võivad sisaldada lihtsaid sõnu ja fraase või mitut sõna- või fraasivormi. Täistekstipäring tagastab kõik dokumendid, mis sisaldavad vähemalt ühte vastet (tuntud ka kui "tabamus"). Vaste tekib siis, kui sihtdokument sisaldab kõiki täisteksti päringus määratud termineid ja vastab teistele otsingukriteeriumidele (näiteks vahemaa vastavusterminite vahel).
Linux Docker MSSQL 2022 täisteksti otsinguteenuse paigaldus
Viited on järgmised:
Kontrolli, kas SQL SERVERi täisteksti otsingufunktsioon on paigaldatud
Käsk on järgmine:
SQL Server täisteksti otsing, täisteksti indeks
Esiteks loo uus testteek ja sisesta testandmed. Skript on järgmine:
Loo täistekstiline sisukord
Täisteksti indeksi salvestamiseks kasutatakse täisteksti sisukorda. Seda saab luua otse järgmiste skriptidega:
Loo täisteksti indeksid andmebaasitabelite jaoks
Täisteksti indeksi loomisel andmebaasitabeli jaoks tuleb määrata vastav keel. Kuna sõnade segmenteerimine erineb keelte lõikes, kasutab SQL Server vastava keele sõnasegmentatsiooni tabelis olevate andmete töötlemiseks. SQL Serveri täistekst otsing toetab umbes 50 erinevat keelt, võimaldades vaadata kõiki toetatud keeli sys.fulltext_languages tabelite päringute kaudu. Käsk:
Nagu allpool näidatud:
Järgmisena lisame täisteksti indeksi hiina lihtsustatud keeles uudiste tabeli pealkirja ja sisu väljadele:
Täistekst predikaatide ja funktsioonide otsing
Täistekstipäringud kasutavad täisteksti predikaate (SISALDABjaVABATEKST) ja täistekstifunktsioonid (CONTAINSTABLEjaFREETEXTTABLE)。 Need toetavad keerukat Transact-SQL süntaksit, mis toetab erinevaid päringuterminite vorme.
Erinevus CONTAINS ja FREETEXT vahel
CONTAINS: Hüperlingi sisselogimine on nähtav.
Kasuta täpseid sobitamismeetodeid, et leida tekstist konkreetseid sõnu või fraase. Toetab keerukaid päringutingimusi, nagu lähedusotsing (näiteks sõnad peavad ilmuma üksteise lähedal), eesliite otsing ja palju muud. Seda kasutatakse tavaliselt olukordades, kus otsingutulemuste üle on vaja täpsemat kontrolli.
FREETEXT: Hüperlingi sisselogimine on nähtav.
Pakub paindlikumat ja loomulikumat keelepõhist otsingukogemust. Erilisi otsingukriteeriume ei nõuta; See analüüsib automaatselt sisendteksti ja püüab leida seotud sisu. See sobib paremini kasutajatele, kes soovivad teha lihtsaid märksõnaotsinguid nagu Google, ilma et peaksid muretsema konkreetsete asukohtade või formaatide pärast.
Käsud on järgmised:
Nagu allpool näidatud:
CONTAINSTABLE ja FREETEXTTABLE
CONTAINSTABLE tagastab tabelid, mis vastavad päringu kriteeriumidele. SQL-lausetes saame neid käsitleda tavaliste tabelitena ning CONTAINSTABLE päringud annavad iga rea kohta RANK-väärtuse ja KEY. RANK-i kasutatakse korrelatsioonisobituse astme näitamiseks, väärtustega vahemikus 0~1000, ning KEY on põhitabeli ID. FREETEXTTABLE segmenteerib esmalt päritavad sõnad ja laused, seejärel pärib nende sobitamist. Käsk on järgmine:
Nagu allpool näidatud:
Lisaks saate segmentimise tulemusi kontrollida, küsides sys.dm_fts_parser:
Nagu allpool näidatud:
Küsimus
Küsimus: CONTAINS ei toeta vaikimisi häguseid päringuid. Kui sisestad CONTAINS(Column, 'apple'), siis see vastab juursõnale (nt apples), kuid mitte ananassile. Lahendus: Kui on vaja häguseid päringuid, tuleb need paigutada enne ja pärast jokkereidLisa topeltjutumärgid ja tärn:CONTAINS(Veerg, '"*apple*"')
Viide:
Hüperlingi sisselogimine on nähtav.
Hüperlingi sisselogimine on nähtav. |
Eelmine:Kaugtöö, töö ja vabakutselise töö platvormi veebileht
|