sql >> Databáze >  >> RDS >> Mysql

Multi-Column Name Search MySQL

Nejlepším řešením je vytvořit FULLTEXTOVÝ index, který zahrnuje tato dvě pole

Krok 1) Vytvořte soubor stop word s pouhými třemi slovy

echo "a"> /var/lib/mysql/stopwords.txt
echo "an">> /var/lib/mysql/stopwords.txt
echo "the">> /var/lib/ mysql/stopwords.txt

Krok 2) Přidejte tyto možnosti do /etc/my.cnf

ft_min_word_len=2
ft_stopword_file=/var/lib/mysql/stopwords.txt

Krok 3) Vytvořte FULLTEXTOVÝ index ve sloupcích jméno a příjmení

Uživatelé ALTER TABLE ADD FULLTEXT first_last_name_index (first, last);

Krok 4) Implementujte do vyhledávání funkci MATCH

Něco jako toto:

SELECT * FROM users WHERE (MATCH(first, last) PROTI ('John' IN BOOLEAN MODE)) AND (MATCH(first, last) AGAINST ('Doe' IN BOOLEAN MODE));

Kliknutím sem získáte další informace o FULLTEXTOVÉM indexování




  1. Jak naplnit gridview pomocí mysql?

  2. Jak vložit hodnoty do sloupce automatické identity v MYSQL

  3. Oracle:jak INSERT, pokud řádek neexistuje

  4. Jak zobrazit všechna národní prostředí v MariaDB