最终,我正在创建一个三种语言的网站:英语,俄语和中文。我希望如果我在应用程序和数据库中使用UTF-8,输入输出就不会出现任何问题(会有吗?)
但最令人恐惧的部分是搜索。它应该足够酷。它应该是全文,它应该索引等。我希望它能理解形态学,使用词干等。
首先,我看过Zend_Search_Lucene,但是我从http://framework.zend.com/issues/browse/ZF/component/10021意识到它有中文问题。 :(
现在我在考虑狮身人面像。它支持英语和俄语词干。我不确定中文有多好,我不知道加上对它的支持有多难。 http://www.sphinxsearch.com/forum/view.html?id=1554是一线希望但是,由于没有经验丰富的Sphinx用户,我认为我不明白那里的内容。
所以,
有没有人有这种'语言无关'搜索的经验,可以和我分享吗?
你可以给我一些东西来测试搜索。作为一名具有一定英语基础知识的俄语母语人士,我可以自己测试俄语和英语搜索,但我甚至不知道这些中文 pics 的哪些部分是单词。请给我一些中文字符串,将它们放入索引和一些预期结果的查询中!
答案 0 :(得分:5)
中文或日文等语言的表意字符需要两个终端字符位置,因此你 会出现UTF8问题而你应该使用UTF16 。
除此之外,任何支持UTF16的搜索引擎和你的要求(例如词干)都应该可以正常工作 - 也就是说,如果你喜欢Sphinx,那就去吧!
答案 1 :(得分:0)
来自Xapian docs:
Xapian使用Snowball Stemming Algorithms。目前,这些支持丹麦语,荷兰语,英语,芬兰语,法语,德语,匈牙利语,意大利语,挪威语,葡萄牙语,罗马尼亚语,俄语,西班牙语,瑞典语和土耳其语。还有Lovins的英语词干分子,Porter的原始英语词干分子,Kraaij-Pohlmann荷兰词干分子,以及德国词干分析器的变体,它使变音符号正常化。
或世界上的一些语言,例如中文,词干的概念不适用,但它对印欧语群的许多语言肯定有意义。
答案 2 :(得分:0)
Google用户搜索不足以满足您的需求吗?你究竟对它不喜欢什么?
答案 3 :(得分:0)
我正在维护一个基于sphinx的开源项目,以提供更好的中文支持。你可以看看http://code.google.com/p/sphinx-for-chinese/。我对俄语知之甚少,但如果俄语单词是空格分开的话就不会有问题。如果您有任何问题,请留言给我留言