很多人反映2.0不能检索中文,其实不是这样的,简单介绍一下AspNetForums2.0的检索原理:
首先,有一个定时器每隔一段时间(默认是15分钟)从帖子中提取一部分帖子,将其中的内容按单词分割,比如:一个ID是111的帖子里面出现了“I love you”,那么将自动将句子分解成一个个单词:"I","love","you",并分别将这些单词、单词对应的hashcode、帖子ID等信息存储到forums_SearchBarrel中,同时将该帖标记为IsIndexed。检索的时候,比如你检索"love",则将"love"的hashcode算出,和forums_SearchBarrel表中的WordHash字段进行比较,如果相等则取出帖子ID。
由于中文比较特殊,比如"I love you"在英文中根据空格可以分成三个单词,而中文的"我爱你"却只能连在一起。所以目前检索的时候,只能根据整句内容来进行检索。
简单说明一下,具体你可以看源码,我将在《Asp.Net Forums2.0深入分析》中结合源码详细说明一下,并给出中文检索的解决方案
这几天在忙于将我们学校的论坛(开放实验室)导入到asp.net forums2.0中,中英文论坛差异还是有些的
