|
|
Publicerad påIgår klockan 20:20
|
|
|
|

Fulltextsökning är en valfri komponent i SQL Server-databasmotorn. Om du inte valde fulltextsökning när du installerade SQL Server, kör SQL Server-installationsprogrammet igen för att lägga till det.
Översikt
Ett fulltextindex innehåller en eller flera teckenbaserade kolumner i en tabell. Dessa kolumner kan ha någon av följande datatyper: char, varchar, nchar, nvarchar, text, ntext, image, xml eller varbinary(max), och FILESTREAM. Varje fulltextindex skapar ett index för en eller flera kolumner i tabellen, och varje kolumn kan använda ett specifikt språk.
Fulltextfrågor arbetar med ord och fraser enligt reglerna för specifika språk (såsom engelska eller japanska), och utför därmed språksökningar baserade på textdata i fulltextindexet. Fulltextfrågor kan inkludera enkla ord och fraser, eller flera former av ord eller fraser. En fulltextfråga returnerar alla dokument som innehåller minst en träff (även kallad en "träff"). En träff uppstår när måldokumentet innehåller alla termer som anges i fulltextfrågan och matchar andra sökkriterier (såsom avståndet mellan matchande termer).
Linux Docker MSSQL 2022 Fulltextsökningstjänst Installation
Referenser är följande:
Kontrollera om SQL SERVERs fulltextsökfunktion är installerad
Kommandot är följande:
SQL Server fulltextsökning, fulltextindex
Skapa först ett nytt testbibliotek och infoga testdata. Skriptet är som följer:
Skapa en fulltextinnehållsförteckning
En fulltextinnehållsförteckning används för att lagra fulltextindexet. Du kan skapa det direkt med följande skript:
Skapa fulltextindex för databastabeller
När du skapar ett fulltextindex för en databastabell behöver du ange motsvarande språk. Eftersom ordsegmentering varierar mellan språk kommer SQL Server att använda motsvarande språks ordsegmentering för att bearbeta data i tabellen. SQL Servers fulltextsökning stödjer cirka 50 olika språk, vilket gör att du kan se alla stödda språk genom att söka sys.fulltext_languages tabeller. Kommando:
Som visas nedan:
Därefter lägger vi till ett fulltextindex för förenklad kinesiska i fälten Titel- och Innehållsfält i Nyheter-tabellen:
Fulltextsökning efter predikat och funktioner
Fulltextförfrågningar använder fulltextpredikat (INNEHÅLLERochFRITEXT) och fulltextfunktioner (CONTAINSTABLEochFRITEXTTABELL)。 De stöder den komplexa Transact-SQL-syntaxen, som stöder olika typer av frågetermer.
Skillnaden mellan CONTAINS och FREETEXT
CONTAINS: Inloggningen med hyperlänken är synlig.
Använd precisa matchningsmetoder för att hitta specifika ord eller fraser i texten. Stöder komplexa frågevillkor, såsom närhetssökning (till exempel måste ord förekomma nära varandra), prefixsökning och mer. Det används vanligtvis i situationer där mer specifik kontroll över sökresultaten behövs.
FREETEXT: Inloggningen med hyperlänken är synlig.
Ger en mer flexibel och naturlig språkbaserad sökupplevelse. Inga särskilda sökkriterier krävs; Den tolkar automatiskt inmatningstexten och försöker hitta relaterat innehåll. Det är mer lämpligt för användare som vill göra enkla nyckelordssökningar som Google, utan att oroa sig för specifika platser eller format.
Kommandona är följande:
Som visas nedan:
CONTAINSTABLE och FRITEXTTABELL
CONTAINSTABLE returnerar tabeller som uppfyller frågekriterierna. I SQL-satser kan vi behandla dem som vanliga tabeller, och frågor som använder CONTAINSTABLE returnerar ett RANK-värde och en KEY för varje rad. RANK används för att ange graden av korrelationsmatchning, med värden mellan 0~1000, och KEY är huvudtabellens ID. FREETEXTTABLE segmenterar först orden och meningarna som ska frågas, sedan söker de efter matchning. Kommandot är följande:
Som visas nedan:
Dessutom kan du kontrollera segmenteringsresultaten genom att fråga sys.dm_fts_parser:
Som visas nedan:
utfärda
Fråga: CONTAINS stöder inte fuzzy-frågor som standard. Om du anger CONTAINS (kolumn, 'apple') kommer det att matcha rotordet (t.ex. apples) men inte pineapple. Lösning: Om fuzzy-frågor behövs måste de placeras före och efter jokrarLägg till dubbla citattecken och en asterisk:INNEHÅLLER(Kolumn, '"*äpple*"')
Hänvisning:
Inloggningen med hyperlänken är synlig.
Inloggningen med hyperlänken är synlig. |
Föregående:Webbplats för distansarbete, arbete och frilansplattformar
|