Funksjoner i FullText Index
Typer fulltekstsøkemodus
Tre typer søk kan oppnås ved å bruke FullText -indeksen, som er forklart nedenfor:
1. Boolsk modus
Denne typen søk brukes til spørsmålene som inneholder boolske operatører, for eksempel mindre enn ('') operatør, pluss tegn ('+'), minustegn ('-'), doble sitater (""), Wildcard Operator ( '*), etc.
2. Naturlig språkmodus
Standard søketype tolker søkestrengen som en bokstavelig fase.
3. Spørringsmodus
Søket gjøres to ganger i denne søketypen. Det andre søket brukes på resultatet av det første søket for å finne ut den mest relevante søkeutgangen.
Forutsetninger
Lag en tabell med data i en MySQL -database for å sjekke bruken av fulltekstsøk i MySQL. Åpne terminalen og koble til MySQL -serveren ved å utføre følgende kommando:
$ sudo mysql -u rootKjør følgende kommando for å opprette en database som heter test_db:
Opprette databasetest_db;Kjør følgende kommando for å velge databasen:
Bruk test_db;Kjør følgende spørsmål for å opprette en tabell som heter Kunder med fem felt:
Lag bordkunder (Kjør følgende sett inn spørring for å sette inn fire poster i Kunder bord.
Sett inn 'kunder' ('id', 'navn', 'e -post', 'adresse', 'contact_no') verdierKjør følgende kommando for å legge til FullText -indeksen for adresse felt av Kunder bord:
ALTER TABLE -kunder legger til fulltekst (adresse);Kjør følgende kommando for å sjekke listen over de definerte indeksene for Kunder bord:
Vis indeks fra kunder;Produksjon
Følgende utgang viser at to indekser eksisterer for Kunder bord. Den ene er Btree -indeksen som er definert som standard for det primære feltet, og en annen er FullText -indeksen som er blitt definert senere for adresse felt:
Bruk av fulltekstsøk
Søket i tabellen ved hjelp av forskjellige moduser for FullText -indeksen er vist i denne opplæringen.
Fulltekstsøk i boolsk modus
Følgende utvalgte spørring vil søke på ordet 'Dhanmondi'I adresse felt av Kunder Tabell i boolsk modus. De Kunder Tabellen inneholder bare en post som samsvarer med dette kriteriet:
Velg * fra kunder der match (adresse) mot ('dhanmondi' i boolsk modus);Produksjon
Følgende utgang vises etter å ha utført forrige spørring:
Kjør følgende velg spørring for å søke på begge ordene, 'Dhaka ' og 'Jigatola ' i adresse felt av Kunder Tabell ved å bruke FullText -indeksen i boolsk modus. Det er to rader i Kunder tabell som inneholder begge ordene, 'Dhaka ' og 'Jigatola ':
Velg * fra kunderProduksjon
Følgende utdata vises etter å ha utført forrige spørring. Utgangen viser at adresse Feltet inneholder 'Dhaka ' og 'Jigatola ':
Kjør følgende velg spørring for å søke på de radene i kundetabellen som inneholder ordet 'Dhaka ' men inneholder ikke ordet 'Jigatola ' i adresse felt av Kunder Tabell ved hjelp av fulltekstindeks i boolsk modus. To rader eksisterer i Kunder Tabell som samsvarer med kriteriene:
Velg * fra kunder der match (adresse) mot ('dhaka -jigatola' i boolsk modus);Produksjon
Følgende utdata vises etter å ha utført forrige spørring. Utgangen viser adresse Feltet inneholder 'Dhaka ' men ikke 'Jigatola ':
Fulltekstsøk i naturlig språkmodus
Kjør følgende kommando for å legge til FullText -indeksen for Navn felt av Kunder bord:
ALTER TABLE -kunder legger til fulltekst (navn);Følgende utvalgte spørring vil søke på ordet 'Sankar ' i Navn felt av Kunder Tabell i naturlig språkmodus. De Kunder Tabellen inneholder to poster som samsvarer med dette kriteriet:
Velg * fra kunderProduksjon
Følgende utdata vises etter å ha utført forrige spørring. Radene som inneholder 'Sarkar 'verdi i Navn Feltet er vist i utgangen:
Fulltekstsøk i spørringsmodus
Følgende utvalgte spørring vil søke på ordet 'laboni ' i Navn felt av Kunder Tabell i spørringsmodus. De Kunder Tabellen inneholder to poster som samsvarer med dette kriteriet:
Velg * fra kunderProduksjon
Følgende utdata vises etter å ha utført forrige spørring. I utgangen inneholder navnefeltet til den første raden ordet 'Laboni ' med et annet ord, 'Sarkar ', og navnet på den andre raden inneholder det matchende ordet, 'Sarkar '.
Slipp fulltekstindeks
Kjør følgende kommando for å slippe fulltekstindeksen til Navn felt:
ALTER TABLE -kunder Drop Index Name;Kjør følgende kommando for å sjekke gjeldende indeksliste over Kunder tabell etter å ha fjernet fulltekstindeksen fra Navn felt:
Vis indeks fra kunder;Produksjon
Følgende utdata vises etter å ha utført forrige spørring. Utgangen viser at Kunder Tabellen inneholder en Btree -indeks for id felt og en fulltekst for adresse felt:
Konklusjon
De forskjellige måtene å søke på innhold i en tabell ved hjelp av FullText -indeksen har blitt vist i denne opplæringen for å hjelpe de nye MySQL -brukerne å lære bruken av fulltekstsøk i MySQL. I tillegg ble de fulle funksjonene for FullText -indeksen diskutert. Vi håper du fant denne artikkelen nyttig. Sjekk ut andre Linux -hint -artikler for flere tips og opplæringsprogrammer.