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

MySQL LIKE %string% není dostatečně shovívavé. Mohu ještě něco použít?

Pokud používáte MyISAM, můžete použít fulltextové indexování. Zobrazit tento tutoriál

Pokud používáte jiný modul úložiště, můžete použít fulltextový stroj třetí strany, jako je sphinx, který může fungovat jako úložný modul pro mysql nebo samostatný server, na který lze dotazovat.

S fulltextovým indexováním MySQL hledejte na A J Kelly by odpovídalo AJ Kelly (Ne, abychom to zmátli, ale A, J a AJ by byly ignorovány, protože jsou ve výchozím nastavení příliš krátké a odpovídalo by to Kellymu.) Obecně je Fulltext mnohem shovívavější (a obvykle rychlejší než LIKE '%string%'), protože umožňuje částečné zápasy, které lze následně seřadit podle relevance.

Můžete také použít SOUNDEX aby bylo hledání shovívavější tím, že indexujete fonetické ekvivalenty slov a prohledáváte je použitím SOUNDEX na hledané výrazy a poté pomocí těchto prohledávání v rejstříku. Se soundexem mary , marie a marry budou všechny odpovídat, například.



  1. Jak mohou realitní profesionálové používat Microsoft Access

  2. html <select multiple=multiple> + SQL Query Search

  3. Speciální znaky se při exportu/importu MySQL ztratí

  4. Zlepšení výkonu backendu Část 2/3:Použití databázových indexů