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