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

Přidání * (hvězdičky) k fulltextovému vyhledávání v MySQL

Co byste mohli udělat, je vytvořit další sloupec ve vaší databázi s indexem fulltextového vyhledávání, tento nový sloupec by měl mít obrácený řetězec sloupce, ve kterém se pokoušíte hledat, a obrátíte vyhledávací dotaz a použijete jej k vyhledávání na obrácený sloupec, takto bude dotaz vypadat:

SELECT * FROM table WHERE MATCH(column1) AGAINST ("$key*" IN BOOLEAN MODE) OR MATCH(reversedColumn1) AGAINST ("$reveresedkey*" IN BOOLEAN MODE)
  • první podmínkaMATCH(column1) AGAINST ("$key*" IN BOOLEAN MODE) příklad:reversedColumn1==>Jmaes $reveresedkey*==>ames* bude hledat slova začínající na ames ==> žádná shoda

  • podmínka sekundMATCH(reversedColumn1) AGAINST ("$reveresedkey*" IN BOOLEAN MODE) příklad:reversedColumn1==>semaJ $reveresedkey*==>sema* bude hledat slova, která končí na ames ==> máme shodu

Pokud je váš text krátký, nemusí to být špatný nápad:



  1. Účastníte se PASS Summit v Charlotte?

  2. Jak předat ArrayList<> jako klauzuli IN v dotazu SQL v MySQL

  3. Vložit při duplicitní aktualizaci v PostgreSQL?

  4. 2 způsoby, jak přidat znak procenta k číslu v SQLite