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.