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

Afinita mezi textem a seznamem klíčových slov?

Pokud klíčová slova zůstanou vždy stejná, můžete nad nimi vytvořit index, který (obrovsky) zvýší rychlost vyhledávání. Standardní datová struktura, která to zvládne, je trie ale mnohem lepší (!) alternativou je automat Aho-Corasick nebo jiný vyhledávací algoritmus s více vzory, jako je například Horspool s více vzory (také známý jako Wu-Manberův algoritmus).

Nakonec, velmi jednoduchou alternativou je zřetězení všech klíčových slov pomocí svislých trubek (| ) a výsledek použijte jako regulární výraz. Technicky se to blíží automatu Aho-Corasick a implementace je pro vás mnohem jednodušší.



  1. Správa uživatelů databáze:Správa rolí pro MariaDB

  2. while($row =mysql_fetch_array($query)) podruhé nefunguje

  3. vyberte časové razítko starší než

  4. Jak uniknout vyhrazenému slovu v Oracle?