Fulltextsökning ( engelska Full text searching , franska Recherche en texte integral ) är en automatiserad sökning efter dokument, där sökningen inte utförs med namn på dokument, utan av deras innehåll, hela eller en betydande del. [1] Många webbplatser och applikationer (som ordbehandlingsprogram) tillhandahåller fulltextsökningsmöjligheter. Vissa webbsökmotorer, som AltaVista, använder fulltextsökmetoder, medan andra endast indexerar en delmängd av webbsidorna som kontrolleras av deras indexeringssystem.
De första versionerna av fulltextsökprogram innebar att man skannade hela innehållet i alla dokument på jakt efter ett visst ord eller en viss fras. Vid användning av denna teknik tog sökningen mycket lång tid (beroende på databasens storlek), och på Internet skulle det vara omöjligt. Moderna algoritmer bildar ett så kallat fulltextindex för sökning i förväg – en ordbok som listar alla ord och anger var de förekommer. Om det finns ett sådant index räcker det att söka efter de nödvändiga orden i det och sedan kommer en lista över dokument där de förekommer omedelbart att erhållas.
Fulltextindex i MySQL kallas "FULLTEXT", som kan användas för både "VARCHAR" och "TEXT" kolumner. När man masslägger data till en tabell med FULLTEXT-fält, kommer indexet att skapas omedelbart, vilket kommer att sakta ner arbetet, för att undvika effekten, rekommenderas att uppgradera fälten efter tillägg.
Sökningen utförs med funktionerna MATCH() och AGAINST():
VÄLJ * FRÅN artiklar VAR MATCH ( titel , brödtext ) MOT ( 'sök' );I det här fallet måste sökfrasen skrivas ord för ord (det vill säga "sök", "sökmotor" är ogiltiga alternativ för exemplet ovan)
Resultat (träffar i fetstil):
id | titel | kropp |
---|---|---|
5 | Vanliga uttryck | De flesta regex-implementeringar har ett sätt att söka efter en textbit... |
ett | Fulltextsökning _ | Fulltextsökning ... _ |