|
|
Publisert påI går klokken 20:20
|
|
|
|

Fulltekstsøk er en valgfri komponent i SQL Server-databasemotoren. Hvis du ikke valgte fulltekstsøk da du installerte SQL Server, kjør SQL Server-installasjonsprogrammet igjen for å legge det til.
Oversikt
En fulltekstindeks inkluderer én eller flere tegnbaserte kolonner i en tabell. Disse kolonnene kan ha en av følgende datatyper: char, varchar, nchar, nvarchar, tekst, ntext, bilde, xml, eller varbinary(max), og FILESTREAM. Hver fulltekstindeks lager en indeks for én eller flere kolonner i tabellen, og hver kolonne kan bruke et spesifikt språk.
Fulltekstsøk opererer på ord og fraser i henhold til reglene for spesifikke språk (som engelsk eller japansk), og utfører dermed språksøk basert på tekstdataene i fulltekstindeksen. Fulltekstsøk kan inkludere enkle ord og fraser, eller flere former av ord eller fraser. En fulltekst-spørring returnerer alle dokumenter som inneholder minst ett treff (også kjent som en "treff"). Et treff oppstår når måldokumentet inneholder alle termene som er spesifisert i fulltekst-spørringen og matcher andre søkekriterier (som avstanden mellom matchende termer).
Linux Docker MSSQL 2022 Fulltekst-søketjenesteinstallasjon
Referansene er som følger:
Sjekk om SQL SERVERs fulltekstsøkefunksjon er installert
Kommandoen er som følger:
SQL Server fulltekstsøk, fulltekstindeks
Først opprett et nytt testbibliotek og sett inn testdata. Skriptet er som følger:
Lag en fulltekstfortegnelse
En fulltekstinnholdsfortegnelse brukes til å lagre fulltekstindeksen. Du kan opprette det direkte ved å bruke følgende skript:
Lag fulltekstindekser for databasetabeller
Når du lager en fulltekstindeks for en databasetabell, må du spesifisere det tilsvarende språket. Fordi ordsegmentering varierer mellom språk, vil SQL Server bruke det tilsvarende språkets ordsegmentering for å behandle dataene i tabellen. SQL Servers fulltekstsøk støtter omtrent 50 forskjellige språk, slik at du kan se alle støttede språk ved å spørre sys.fulltext_languages tabeller. Kommando:
Som vist nedenfor:
Deretter legger vi til en fulltekstindeks for forenklet kinesisk i tittel- og innholdsfeltene i nyhetstabellen:
Fulltekstsøk etter predikater og funksjoner
Fulltekstforespørsler bruker fulltekstpredikater (INNEHOLDERogFRITEKST) og fulltekstfunksjoner (CONTAINSTABLEogFRITEKSTTABELL)。 De støtter den komplekse Transact-SQL-syntaksen, som støtter ulike former for spørringstermer.
Forskjellen mellom CONTAINS og FREETEXT
CONTAINS: Innloggingen med hyperkoblingen er synlig.
Bruk presise matchingsmetoder for å finne spesifikke ord eller uttrykk i teksten. Støtter komplekse spørringsbetingelser, som nærhetssøk (for eksempel må ord vises nær hverandre), prefikssøk og mer. Det brukes vanligvis i situasjoner hvor mer spesifikk kontroll over søkeresultatene er nødvendig.
FREETEXT: Innloggingen med hyperkoblingen er synlig.
Gir en mer fleksibel og naturlig språkbasert søkeopplevelse. Ingen spesielle søkekriterier kreves; Den analyserer automatisk inndatateksten og prøver å finne relatert innhold. Det passer bedre for brukere som ønsker å utføre enkle nøkkelordsøk som Google, uten å bekymre seg for spesifikke steder eller formater.
Kommandoene er som følger:
Som vist nedenfor:
CONTAINSTABLE og FRITEKSTTABELL
CONTAINSTABLE returnerer tabeller som oppfyller spørringskriteriene. I SQL-setninger kan vi behandle dem som vanlige tabeller, og spørringer som bruker CONTAINSTABLE returnerer en RANK-verdi og en KEY for hver rad. RANK brukes for å indikere graden av korrelasjonsmatch, med verdier mellom 0~1000, og KEY er ID-en til hovedtabellen. FREETEXTTABLE segmenterer først ordene og setningene som skal spørres, deretter spør for matching. Kommandoen er som følger:
Som vist nedenfor:
I tillegg kan du sjekke segmenteringsresultatene ved å søke sys.dm_fts_parser:
Som vist nedenfor:
utstede
Spørsmål: CONTAINS støtter ikke fuzzy-spørringer som standard. Hvis du skriver CONTAINS (kolonne, 'apple'), vil det matche rotordet (f.eks. apples), men ikke pineapple. Løsning: Hvis fuzzy-spørringer er nødvendige, må de plasseres før og etter jokerkortLegg til doble anførselstegn og en stjerne:INNEHOLDER (Kolonne, '"*apple*"')
Referanse:
Innloggingen med hyperkoblingen er synlig.
Innloggingen med hyperkoblingen er synlig. |
Foregående:Nettside for fjernarbeid, arbeid og frilansplattformer
|