Mediawiki的搜索改进设想
天下维客,你可以修改的网络知识库
目前mediawiki的搜索系统存在下述问题:
- 1、对中文处理不好,无法精确匹配时经常出现不相干的结果(UTF8多字节问题)
- 2、对英文大小写处理不完善,若大小写不匹配,则仅能在部分情况下找到相关文章
- 3、智能处理不足,在标题不匹配时,给出的结果杂乱不堪,没有相关度
具体改进建议如下:
目录 |
[编辑]
完善中文UTF8搜索功能
可能是因为中文在UTF8中为多字节的原因,中文搜索往往出现不相关的结果(参见附例)
处理:检查程序中的问题所在。 (疑问:按说中文有高位字节标志,不该出现错误匹配。
- 所以怀疑可能是mediawiki的智能匹配出了问题)=> 这是因为mysql暂时不支持多字节中文全文检索
[编辑]
完善英文大小写处理
现状:如果建立了ASD条目,在其他地方使用asd进行引用时,则无法找到该条目
期望:进行标题的大小写无关检索。搜索结果有下述几种可能
- 完全无法匹配:进行后续智能匹配尝试(处理方式与系统默认的相同)
- 匹配结果唯一:
- 匹配结果不唯一:
- 如果包含大小写完全匹配的条目,则转到该条目(处理方式与系统默认的相同)
- 如果无法匹配大小写,则列出所有条目,并进入智能搜索过程。
[编辑]
智能搜索过程的改善
默认过程不详,希望了解真实的机制。
- 空格的处理
- 对于“Win XP”、“win XP”之类的条目,很难预料读者是否输入空格,需要考虑一下。
- 处理:智能匹配过程中,对搜索内容和标题进行排除空格的搜索
- 一文多名的处理
- 对于“如何安装操作系统”、“怎样安装操作系统”、“操作系统的安装”,其搜索目标可能是同一篇文章。
- 处理:1、对特定词语进行特定变形后进行搜索
- “如何”、“怎样”的字眼将被排除
- 2、新建文章后,询问是否应进行别名设置
- 3、更完善的机制是建立“条目关键字”信息,在文章编写之后,需要输入这个信息
- 这将大大减少数据检索的工作量,并提高相关性。
- 内容搜索
- 具体机制不明,需了解当前工作方式
- (???)
[编辑]
嵌入google的站内搜索功能
内部搜索和google搜索应该各有所长,因此嵌入该代码可能会有些作用,避免搜不到的情况。
[编辑]
附例:中文搜索结果出现不相关条目
例如在www.allwiki.com搜索“晶体管”,结果如下:
Wiki的進階管理 (1014字节) 什么是面向服务的体系结构(SOA)? (4040字节) 系统管理员(System Administrator) (263字节) EJB的体系结构 (3700字节) 用户权限管理 (2391字节) 我可以用面向服务的体系结构做什么? (3975字节) 什么是数据库管理 (1504字节) 什么是数据库管理系统 (2117字节) AIX系统日常管理 (784字节) AIX管理员常用命令 (1458字节) MYSQL数据库的用户帐号管理基础知识 (0字节) MYSQL数据库的用户帐号管理基础知识1 (4710字节) MYSQL数据库的用户帐号管理基础知识2 (4832字节) MYSQL数据库的用户帐号管理基础知识3 (6748字节) ……


