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

Jak povolit fulltextové vyhledávání se spojovníky ve vyhledávacím dotazu

Odtud http://dev.mysql.com/doc /refman/5.0/cs/fulltext-search.html

Jedním z řešení, jak najít slovo s pomlčkami nebo spojovníky, je použít VYHLEDÁVÁNÍ PLNÉHO TEXTU V BOOLEANSKÉM REŽIMU a uzavřít slovo pomlčkou / pomlčkou do dvojitých uvozovek.

Nebo odtud http://bugs.mysql.com/bug.php?id=2095

Existuje další řešení. Nedávno bylo do manuálu přidáno:"Upravit soubor znakové sady:Nevyžaduje to žádnou rekompilaci. Makro true_word_char() používá tabulku "typu znaků" k rozlišení písmen a číslic od ostatních znaků. . Můžete upravit obsah jednoho ze znaků nastavte soubory XML tak, aby určovaly, že '-' je „písmeno“. Poté použijte danou znakovou sadu pro své FULLTEXT indexy."

Sám jsem to nezkoušel.

Edit:Zde jsou některé další další informace odtud http:/ /dev.mysql.com/doc/refman/5.0/en/fulltext-boolean.html

Fráze, která je uzavřena ve znacích dvojitých uvozovek („""), odpovídá pouze řádkům, které frázi obsahují doslova tak, jak byla napsána. Fulltextový stroj rozdělí frázi na slova a vyhledá slova ve FULLTEXTOVÉM indexu. Před MySQL 5.0.3 pak engine prováděl hledání podřetězců fráze v nalezených záznamech, takže shoda musí obsahovat neslovní znaky ve frázi. Od MySQL 5.0.3 se neslovní znaky nemusí přesně shodovat:Vyhledávání frází vyžaduje pouze to, aby shody obsahovaly přesně stejná slova jako fráze a ve stejném pořadí. Například „testovací fráze“ odpovídá „test, fráze“ v MySQL 5.0.3, ale ne dříve.

Pokud fráze neobsahuje žádná slova, která jsou v rejstříku, je výsledek prázdný. Pokud jsou například všechna slova buď ignorovaná nebo kratší než minimální délka indexovaných slov, bude výsledek prázdný.



  1. Sloupec vyšší mohutnosti jako první v indexu při použití rozsahu?

  2. Najděte referenční entity na serveru SQL:sys.dm_sql_referenced_entities

  3. Jak nainstalovat MySQLdb na Mountain Lion

  4. Vyberte (načtěte) všechny záznamy z více schémat pomocí Postgres