中文、日文、韩文等多字节文字不同于英文等单字节语言,是多字节语言。我们都知道英文是依靠空格和标点符号将单词分割开,搜索引擎只要依据空格和标点就可以分割出词表。对一些检索意义不大的单词,则将这些词列在所谓 stopwords 词表(又称为 badwords中),如: "a, an, and, the, ...",避免因为对这些词建立检索而耗费过多的资源。这些 stopwords 保存在目录 /usr/local/aspseek/etc/stopwords/ 中。
而中文则不能造此办理,没有空格开区分词和词组,因此需要建立相应的词表。这些词表保存在目录 /usr/local/aspseek/etc/tables/ 中。
为能够对中文文档进行检索,需要检查是否在配置文件 aspseek.conf 和 searchd.conf 配置了 "CharsetTableU2" 和 "Dictionary2"选项。这两个选项是在配置文件 ucharset.conf 中定义的,用语句 "Include ucharset.conf" 包含入配置文件 aspseek.conf 和 searchd.conf。 ucharset.conf 中"CharsetTableU2" 和 "Dictionary2"的配置如下:
######################################################################## # Unicode charset definition for multibyte charsets # (please comment all not needed charsets): # CharsetTableU2 <charset> <lang> <table> [<lang_map>] # CharsetTableU2 big5 ch tables/big5.txt CharsetTableU2 gb2312 ch tables/gb2312.txt ######################################################################## # Dictionary for tokenizing of text in Chinese, Japanese and Korean languages # Dictionary2 <lang> <file> [<file encoding>] # If file encoding is omitted, then file is assumed to be in unicode # Must be set after encoding definition (CharsetTableU2) # <lang> parameter must match <lang> in CharsetTableU2 directive. Dictionary2 ch tables/chinese.txt big5
Copyright © 2006 WorldHello 开放文档之源 计划 |