MySQLi Víceslovní hledání
Pro nastavení datového typu FULLTEXT na sloupci v MySQL musíte provést následující kroky: Zkontrolujte, zda váš databázový engine podporuje plnotextové indexování. Pro InnoDB a MyISAM je podporováno plnotextové indexování, pro další enginy může být podpora různá. Pokud váš engine nepodporuje plnotextové indexování, musíte nejprve změnit engine vaší tabulky na InnoDB nebo MyISAM. Přidejte sloupec s datovým typem FULLTEXT do vaší tabulky. Pro příklad uvažme tabulku articles s následujícími sloupci:
CREATE TABLE articles (
id INT PRIMARY KEY,
title VARCHAR(255),
content TEXT
);
Pokud chcete přidat plnotextové indexování na sloupec content, musíte nejprve upravit tabulku pomocí příkazu ALTER TABLE:
ALTER TABLE articles ADD FULLTEXT(content);
Vytvořte plnotextový index pro sloupec FULLTEXT. Pokud chcete vytvořit plnotextový index pro sloupec content, můžete použít následující příkaz:
CREATE FULLTEXT INDEX idx_content ON articles (content);
Plnotextové indexování bude nyní použito pro vyhledávání v sloupci content. Můžete použít klíčové slovo MATCH a AGAINST pro vyhledávání podle klíčových slov v daném sloupci.
Například:
SELECT * FROM articles WHERE MATCH(content) AGAINST('MySQL');
Tento dotaz vyhledá všechny řádky v tabulce articles, které obsahují slovo "MySQL" v sloupci content.