最终,我将创建一个使用三种语言的网站:英语、俄语和中文。我希望如果我在应用程序和数据库中使用UTF-8,输入输出不会出现任何问题(会吗?)
但其中最可怕的部分是搜索。应该足够凉了。它应该是全文,它应该索引等。我希望它能够理解形态学,使用词干提取等。
首先,我查看了 Zend_Search_Lucene,但正如我从 http://framework.zend.com/issues/browse/ZF/component/10021 中意识到的那样中文有问题。 :(
现在我正在考虑 sphinx 。它支持英语和俄语词干。我不确定它的中文有多好,我也不知道添加对它的支持对我来说有多难。 http://www.sphinxsearch.com/forum/view.html?id=1554是一线希望,但是,作为没有经验的 Sphinx 用户,我认为我不明白那里所说的内容。
所以,
有人在这种“与语言无关”的搜索方面有任何经验吗?可以与我分享吗?
你能给我一些东西来测试搜索吗?作为一个有一定英语基础的俄语母语者,我可以自己测试俄语和英语搜索,但我什至不知道这张中文图片的哪些部分是单词。请给我一些中文字符串并将其放入索引和一些具有预期结果的查询!
最佳答案
中文或日语等语言中的表意字符需要两个终端字符位置,因此使用 UTF8 时会遇到问题,而应使用 UTF16。
除此之外,任何支持 UTF16 和您的要求(例如词干提取)的搜索引擎都应该可以正常工作 - 也就是说,如果您喜欢 Sphinx,那就去吧!
关于php,中文和俄文搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1645663/