Denna artikel är en spegelartikel om maskinöversättning, klicka här för att hoppa till originalartikeln.

Utsikt: 29|Svar: 2

[Tips] (MSSQL) SQL Server fulltextsökning, fulltextindex

[Kopiera länk]
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:
Docker MSSQL 2022 installerar fulltextsöktjänsten
https://www.itsvse.com/thread-10857-1-1.html

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
 Hyresvärd| Publicerad påFör 2 minuter sedan |
 Hyresvärd| Publicerad på58 sekunder sedan |
EF Core använder fulltextsökningsfunktionalitetInloggningen med hyperlänken är synlig.
Friskrivning:
All programvara, programmeringsmaterial eller artiklar som publiceras av Code Farmer Network är endast för lärande- och forskningsändamål; Ovanstående innehåll får inte användas för kommersiella eller olagliga ändamål, annars kommer användarna att bära alla konsekvenser. Informationen på denna sida kommer från internet, och upphovsrättstvister har inget med denna sida att göra. Du måste helt radera ovanstående innehåll från din dator inom 24 timmar efter nedladdning. Om du gillar programmet, vänligen stöd äkta programvara, köp registrering och få bättre äkta tjänster. Om det finns något intrång, vänligen kontakta oss via e-post.

Mail To:help@itsvse.com