Denne artikkelen er en speilartikkel om maskinoversettelse, vennligst klikk her for å hoppe til originalartikkelen.

Utsikt: 29|Svare: 2

[Tips] (MSSQL) SQL Server fulltekstsøk, fulltekstindeks

[Kopier lenke]
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:
Docker MSSQL 2022 installerer fulltekstsøketjenesten
https://www.itsvse.com/thread-10857-1-1.html

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
 Vert| Publisert påFor 2 minutter siden |
 Vert| Publisert påFor 58 sekunder siden |
EF Core bruker fulltekstsøk-funksjonalitetInnloggingen med hyperkoblingen er synlig.
Ansvarsfraskrivelse:
All programvare, programmeringsmateriell eller artikler publisert av Code Farmer Network er kun for lærings- og forskningsformål; Innholdet ovenfor skal ikke brukes til kommersielle eller ulovlige formål, ellers skal brukerne bære alle konsekvenser. Informasjonen på dette nettstedet kommer fra Internett, og opphavsrettstvister har ingenting med dette nettstedet å gjøre. Du må fullstendig slette innholdet ovenfor fra datamaskinen din innen 24 timer etter nedlasting. Hvis du liker programmet, vennligst støtt ekte programvare, kjøp registrering, og få bedre ekte tjenester. Hvis det foreligger noen krenkelse, vennligst kontakt oss på e-post.

Mail To:help@itsvse.com