MySql全文检索是否可以合理地与非拉丁语言一起工作? (希伯来语,阿拉伯语,日语...)MySql全文检索与非拉丁语言(希伯来语,阿拉伯语,日语...)合理工作
增加:做了一些测试......它有一些希伯来语的问题。示例:名称מוסינזון发音一样מושינזון但寻找一个找不到其他的,因为这是在希伯来文常见的拼写错误,看来我必须做一些数据操作为它完美工作。
MySql全文检索是否可以合理地与非拉丁语言一起工作? (希伯来语,阿拉伯语,日语...)MySql全文检索与非拉丁语言(希伯来语,阿拉伯语,日语...)合理工作
增加:做了一些测试......它有一些希伯来语的问题。示例:名称מוסינזון发音一样מושינזון但寻找一个找不到其他的,因为这是在希伯来文常见的拼写错误,看来我必须做一些数据操作为它完美工作。
只要您的collation设置正确,它的工作出色。
当然,Unicode的大部分功能都可以使用。但是,这并不能真正将拉丁字符翻译成它们(例如,在荷兰语整理中,aa
将被识别为å
)。
是的,但是,看看stopwords是什么。
Japanese
和Chinese
使用自己的空白符号MySQL
不明白。
确保您要索引的文本中的单词用ASCII
分隔符(空格,逗号等)分隔。 ASCII
范围之外的任何内容都可能不起作用。
此外,你可能需要修正ft_min_word_len
:默认情况下,MySQL
不会索引的话比4
字符,最Japanese
和Chinese
话短。
在Cyrillic
语言translteration错误是相当普遍的。
该序列的所有字母:АВЕКМНОРСТуХ/ABEKMHOPCTyX
在大多数字体中无法区分。
其中最糟糕的是西里尔С
/拉丁语C
:这两个符号都位于键盘上的一个键上,在大多数字体中完全没有差别,但它们有不同的代码。
MySQL
也无法捕捉它。
尽管希伯来语在MySQL中的支持有限,但您的问题更多的是使用不正确拼写的人的问题,然后在这个角度看MySQL服务器的功能障碍。当您在Google拼写错误时,会显示一条建议,您可以点击该建议来搜索该字词。也许你可以建立一些具有相同行为的程序,例如,您可以创建一个包含两个字段的表格,其中一个包含拼写错误的单词,另一个包含正确的拼写。然后,您可以构建一个程序来查找拼写错误的单词并显示建议。
通常的实现方法是使用n-gram – strum 2013-08-27 17:00:29
是 MySQL的全文搜索对于阿拉伯语。只要确保以下的在需要的地方:
COLLATION = utf8_unicode_ci
& CHARACTER SET = utf8
。 (数据库,表格和列)。ft_min_word_len = 3
(见show variables like "ft_%";
)
什么是你整理? – Eric 2009-08-30 22:19:52
utf8_unicode_ci – 2009-08-30 22:43:09
是的,这不会赶上希伯来语义。如果它被设置为希伯来语整理,我的猜测是它会。 – Eric 2009-08-31 11:55:58