11

MySql 全文搜索是否适用于非拉丁语言?(希伯来语、阿拉伯语、日语……)

补充:做了一些测试......希伯来语有一些问题。示例:מו ס ינזון这个名字的发音与מו ש ינזון相同,但搜索一个不会找到另一个,因为这是希伯来语中常见的拼写错误,看来我必须进行一些数据处理才能使其完美运行.

4

5 回答 5

3

虽然 MySQL 对希伯来语的支持有限,但从这个角度来看,您的问题更多是人们使用错误拼写的问题,然后是 MySQL 服务器的功能障碍。当您在 Google 中拼错一个词时,它会向您显示一个建议,您可以单击该建议来搜索该词。

也许您可以构建一些具有相同行为的程序,例如,您可以创建一个包含 2 个字段的表,一个包含常见拼写错误的单词,另一个包含正确拼写。然后,您可以构建一个程序来查找拼写错误的单词并显示建议。

于 2011-11-21T15:11:11.907 回答
2

只要您的排序规则设置正确,它就可以出色地工作。

当然,Unicode 将适用于大多数情况。但这并不能很好地将拉丁字符翻译成它们(例如,在荷兰语排序规则aa中将被识别为å)。

于 2009-08-30T16:11:29.297 回答
2

的 MySQL 全文搜索适用于阿拉伯语。只需在需要时确保以下内容:

  1. COLLATION = utf8_unicode_ci& CHARACTER SET = utf8. (数据库、表和列)。
  2. 3个字母以上的索引词。这对阿拉伯语非常重要ft_min_word_len = 3, (见show variables like "ft_%";
  3. 检查 MySQL(5.5 或 5.6)和引擎(InnoDb 或 MyIsam)的版本
于 2013-09-02T10:09:33.940 回答
1

是的,但是,请查看停用词是什么。

于 2009-08-30T16:27:28.000 回答
1

JapaneseChinese使用他们自己MySQL不理解的空白符号。

确保要索引的文本中的单词用ASCII分隔符(空格、逗号等)分隔。范围之外的任何东西ASCII都可能不起作用。

此外,您可能需要修复ft_min_word_len:默认情况下,MySQL不会索引短于4字符的单词,以及 mostJapaneseChinese单词。

Cyrillic语言中,翻译错误很常见。

此序列中的所有字母:АВЕКМНОРСТуХ / ABEKMHOPCTyX在大多数字体中都无法区分。

其中最糟糕的是西里尔文С/拉丁文C:这两个符号都位于键盘上的一个键上,并且在大多数字体中根本没有区别,但它们有不同的代码。

MySQL也不会抓住它。

于 2009-08-31T17:14:48.407 回答