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

Zlepšení Mysql Match Against Search

Můžete dělat přesně to, co chcete, když odpovídáte IN BOOLEAN MODE a pomocí * operátor.

Například:

 ... MATCH(thing) AGAINST ('+educat*' IN BOOLEAN MODE)...

+ říká, že shoda má obsahovat pouze hodnoty thing které obsahují výraz shody, což jsou v tomto případě všechny indexované hodnoty začínající "educat " (viz zde podrobně o tom, jak booleovský režim funguje).

Kromě toho fulltextové vyhledávání v MySQL standardně neindexuje slova o 3 nebo méně znacích, takže mám podezření, že vaše shoda s „edu“ nefunguje tak, jak si myslíte. Podívejte se na hodnotu vašeho ft_min_word_len proměnnou, abyste zjistili, zda tomu tak je.



  1. záloha databáze odoo12 žádný vlastník?

  2. Android:SQLite šetřící pole řetězců?

  3. LISTAGG v ORACLE

  4. Zkopírujte záznamy pomocí příkazu insert select a poté aktualizujte atributy ve stejné sadě záznamů