Caratteristiche dell'indice FullText
Tipi di modalità di ricerca fulltex
Tre tipi di ricerca possono essere realizzati utilizzando l'indice FullText, che è spiegato di seguito:
1. Modalità booleana
Questo tipo di ricerca viene utilizzato per le query che contengono operatori booleani, come un operatore inferiore a (''), più segno ('+'), meno segno ('-'), doppie citazioni (“”), operatore jolly ( '*), eccetera.
2. Modalità linguistica naturale
Il tipo di ricerca predefinito interpreta la stringa di ricerca come fase letterale.
3. Modalità di espansione delle query
La ricerca viene eseguita due volte in questo tipo di ricerca. La seconda ricerca viene applicata al risultato della prima ricerca per scoprire l'output di ricerca più pertinente.
Prerequisiti
Crea una tabella con i dati in un database MySQL per verificare l'uso della ricerca FullText in MySQL. Apri il terminale e connettiti al server MySQL eseguendo il seguente comando:
$ sudo mysql -u rootEsegui il comando seguente per creare un database denominato test_db:
Crea database test_db;Esegui il comando seguente per selezionare il database:
Usa test_db;Esegui la seguente query per creare una tabella denominata clienti Con cinque campi:
Crea clienti Table (Eseguire la seguente query di inserimento per inserire quattro record nel clienti tavolo.
Inserisci in "Clienti" ("id", "nome", "email", "indirizzo", "contact_no") valoriEseguire il comando seguente per aggiungere l'indice FullText per il indirizzo campo del clienti tavolo:
Alterazioni dei clienti della tabella Aggiungi FullText (indirizzo);Eseguire il comando seguente per verificare l'elenco degli indici definiti del clienti tavolo:
Mostrare l'indice dai clienti;Produzione
Il seguente output mostra che esistono due indici per il clienti tavolo. Uno è l'indice BTREE che è stato definito per impostazione predefinita per il campo primario e un altro è l'indice completo che è stato definito in seguito per il indirizzo campo:
Usi della ricerca FullText
La ricerca nella tabella utilizzando diverse modalità dell'indice FullText è stata mostrata in questo tutorial.
Ricerca FullText in modalità booleana
Le seguenti query selezionate cercheranno la parola 'Dhanmondi' nel indirizzo campo del clienti Tabella in modalità booleana. IL clienti La tabella contiene solo un record corrispondente a questo criterio:
Seleziona * da clienti Where Match (indirizzo) contro ('dhanmondi' in modalità booleana);Produzione
Verrà visualizzato il seguente output dopo aver eseguito la query precedente:
Esegui la seguente query Seleziona per cercare entrambe le parole "Dhaka ' E 'Jigatola ' nel indirizzo campo del clienti Tabella utilizzando l'indice FullText in modalità booleana. Ci sono due file in clienti Tabella che contengono entrambe le parole, 'Dhaka ' E 'Jigatola ':
Seleziona * dai clientiProduzione
Verrà visualizzato il seguente output dopo aver eseguito la query precedente. L'output mostra che il indirizzo il campo contiene 'Dhaka ' E 'Jigatola ':
Esegui le seguenti query Seleziona per cercare tali righe della tabella dei clienti che contengono la parola 'Dhaka ' ma non contiene la parola 'Jigatola ' nel indirizzo campo del clienti Tabella usando l'indice FullText in modalità booleana. Esistono due file nel clienti Tabella che corrisponde ai criteri:
Seleziona * da clienti Where Match (indirizzo) contro ('dhaka -jigatola' in modalità booleana);Produzione
Verrà visualizzato il seguente output dopo aver eseguito la query precedente. L'output mostra il file indirizzo il campo contiene 'Dhaka ' ma no 'Jigatola ':
Ricerca fulltex in modalità linguale
Eseguire il comando seguente per aggiungere l'indice FullText per il nome campo del clienti tavolo:
ALTER TABLE Clienti Aggiungi FullText (nome);Le seguenti query selezionate cercheranno la parola 'Sankar ' nel nome campo del clienti Tabella in modalità linguistica naturale. IL clienti La tabella contiene due record corrispondenti a questo criterio:
Seleziona * dai clientiProduzione
Verrà visualizzato il seguente output dopo aver eseguito la query precedente. Le righe che contengono il 'Sarkar 'valore nel nome Il campo è stato mostrato nell'output:
Ricerca FullText in modalità di espansione delle query
Le seguenti query selezionate cercheranno la parola 'Laboni ' nel nome campo del clienti Tabella in modalità di espansione delle query. IL clienti La tabella contiene due record corrispondenti a questo criterio:
Seleziona * dai clientiProduzione
Verrà visualizzato il seguente output dopo aver eseguito la query precedente. Nell'output, il campo Nome della prima riga contiene la parola "Laboni ' con un'altra parola, "Sarkar ', E il campo Nome della seconda riga contiene la parola corrispondente, "Sarkar '.
Drop FullText Index
Eseguire il comando seguente per rilasciare l'indice FullText di nome campo:
Alter Table Clienti Drop Drop Nome;Eseguire il seguente comando per verificare l'elenco dell'indice corrente del clienti Tabella dopo aver rimosso l'indice FullText dal nome campo:
Mostrare l'indice dai clienti;Produzione
Verrà visualizzato il seguente output dopo aver eseguito la query precedente. L'output mostra che il clienti La tabella contiene un indice BTREE per il id campo e un testo completo per il indirizzo campo:
Conclusione
I diversi modi di cercare il contenuto in una tabella utilizzando l'indice FullText sono stati mostrati in questo tutorial per aiutare i nuovi utenti MySQL a imparare gli usi della ricerca FullText in MySQL. Inoltre, sono state discusse le caratteristiche complete per l'indice FullText. Speriamo che tu abbia trovato questo articolo utile. Dai un'occhiata ad altri articoli di suggerimento Linux per ulteriori suggerimenti e tutorial.