Questo articolo è un articolo speculare di traduzione automatica, clicca qui per saltare all'articolo originale.

Vista: 29|Risposta: 2

[Consigli] (MSSQL) Ricerca in testo intero SQL Server, Indice di testo completo

[Copiato link]
Pubblicato suIeri alle 20:20 | | | |
La ricerca a testo completo è una componente opzionale del motore di database SQL Server. Se non hai selezionato la ricerca full-text durante l'installazione di SQL Server, esegui di nuovo l'installer di SQL Server per aggiungerlo.

Panoramica

Un indice a testo completo include una o più colonne basate su caratteri in una tabella. Queste colonne possono contenere uno qualsiasi dei seguenti tipi di dati: char, varchar, nchar, nvarchar, text, ntext, image, xml, o varbinary(max), e FILESTREAM. Ogni indice di testo completo crea un indice per una o più colonne della tabella, e ogni colonna può utilizzare un linguaggio specifico.

Le query in testo completo operano su parole e frasi secondo le regole di lingue specifiche (come inglese o giapponese), effettuando così ricerche linguistiche basate sui dati testuali nell'indice integrale. Le query in testo completo possono includere parole e frasi semplici, oppure più forme di parole o frasi. Una query full-text restituisce tutti i documenti contenenti almeno una corrispondenza (nota anche come "hit"). Una corrispondenza si verifica quando il documento di destinazione contiene tutti i termini specificati nella query a testo completo e corrisponde a qualsiasi altro criterio di ricerca (come la distanza tra i termini corrispondenti).

Installazione del servizio di ricerca testuale completa di Linux Docker MSSQL 2022

I riferimenti sono i seguenti:
Docker MSSQL 2022 installa il servizio di ricerca full-text
https://www.itsvse.com/thread-10857-1-1.html

Controlla se la funzione di ricerca full-text di SQL SERVER è installata

Il comando è il seguente:

Ricerca a testo intero di SQL Server, indice a testo completo

Per prima cosa, crea una nuova libreria di test e inserisci i dati di test. Lo script è il seguente:
Crea un indice a testo completo

Viene utilizzata una tabella degli indici a testo completo per memorizzare l'indice del testo completo. Puoi crearlo direttamente usando i seguenti script:
Crea indici a testo completo per le tabelle del database

Quando si crea un indice a testo intero per una tabella di database, è necessario specificare il linguaggio corrispondente. Poiché la segmentazione delle parole varia tra le lingue, SQL Server utilizzerà la segmentazione delle parole della lingua corrispondente per elaborare i dati nella tabella. La ricerca full-text di SQL Server supporta circa 50 linguaggi diversi, permettendoti di visualizzare tutti i linguaggi supportati interrogando sys.fulltext_languages tabelle. Comando:
Come mostrato di seguito:



Successivamente, aggiungiamo un indice integrale per il cinese semplificato ai campi Titolo e Contenuto nella tabella delle notizie:
Ricerca in testo intero per predicati e funzioni

Le query a testo completo utilizzano predicati a testo completo (CONTIENEeTESTO LIBERO) e funzioni di testo completo (CONTAINSTABLEeFREETEXT)。 Supportano la complessa sintassi Transact-SQL, che supporta varie forme di termini di interrogazione.

La differenza tra CONTAINS e FREETEXT

CONTAINS: Il login del link ipertestuale è visibile.

Usa metodi precisi di abbinamento per trovare parole o frasi specifiche nel testo.
Supporta condizioni complesse di interrogazione, come la ricerca di prossimità (ad esempio, le parole devono apparire vicine tra loro), la ricerca con prefissi e altro.
Viene solitamente utilizzato in situazioni in cui è necessario un controllo più specifico sui risultati di ricerca.

FREETEXT: Il login del link ipertestuale è visibile.

Offre un'esperienza di ricerca più flessibile e basata sul linguaggio naturale.
Non sono richiesti criteri di ricerca speciali; Analizza automaticamente il testo in input e cerca di trovare contenuti correlati.
È più adatto agli utenti che vogliono effettuare semplici ricerche per parole chiave come Google, senza preoccuparsi di località o formati specifici.

I comandi sono i seguenti:
Come mostrato di seguito:



CONTAINSTABLE e FREETEXTTABLE

CONTAINSTABLE restituisce tabelle che soddisfano i criteri di query. Nelle istruzioni SQL, possiamo trattarle come tabelle regolari, e le query che usano CONTAINSTABLE restituiscono un valore RANK e una CHIAVE per ogni riga. RANK viene usato per indicare il grado di corrispondenza di correlazione, con valori compresi tra 0~1000, e KEY è l'ID della tabella principale. FREETEXTTABLE prima segmenta le parole e le frasi da interrogare, poi interroga per trovare il corrispondente. Il comando è il seguente:
Come mostrato di seguito:



Inoltre, puoi controllare i risultati della segmentazione inviando sys.dm_fts_parser:
Come mostrato di seguito:



questione

Domanda: CONTAINS non supporta di default le query fuzzy. Se inserisci CONTAINS(Column, 'apple'), corrisponderà alla parola radice (ad esempio, apples) ma non ananas.
Soluzione: Se sono necessarie query fuzzy, devono essere posizionate prima e dopo i jollyAggiungi doppie virgolette e un asterisco:CONTIENE(Colonna, '"*mela*"')

Riferimento:

Il login del link ipertestuale è visibile.
Il login del link ipertestuale è visibile.




Precedente:Sito web per lavoro da remoto, lavoro e freelance
 Padrone di casa| Pubblicato su2 minuti fa |
 Padrone di casa| Pubblicato su58 secondi fa |
EF Core utilizza la funzionalità di ricerca a testo completoIl login del link ipertestuale è visibile.
Disconoscimento:
Tutto il software, i materiali di programmazione o gli articoli pubblicati dalla Code Farmer Network sono destinati esclusivamente all'apprendimento e alla ricerca; I contenuti sopra elencati non devono essere utilizzati per scopi commerciali o illegali, altrimenti gli utenti dovranno sostenere tutte le conseguenze. Le informazioni su questo sito provengono da Internet, e le controversie sul copyright non hanno nulla a che fare con questo sito. Devi eliminare completamente i contenuti sopra elencati dal tuo computer entro 24 ore dal download. Se ti piace il programma, ti preghiamo di supportare software autentico, acquistare la registrazione e ottenere servizi autentici migliori. In caso di violazione, vi preghiamo di contattarci via email.

Mail To:help@itsvse.com