dokuwiki 中文搜索的问题
这里有一个比较 dokuwiki 以及 pmwiki 的帖子 http://momo.nklog.org/post/2007/02/28/dokuwiki_is_better_than_pmwiki
pmwiki其实并没有那么差劲,相比之下,页面数量在1000以内的话,pmwiki 应该是更好的选择。 dokuwiki 的中文全文索引完全无法使用,没有进行分词,而是将每个汉字作为一个词进行索引,所以任何查询都会在全文查找中找到一大堆页面,根本没法用,最后还只好将全文检索去掉了。注释掉 inc/html.php 中 html_search 函数全文检索那段。不过这里有一个 php 简单分词的例子,现在懒得研究了,有时间在研究分词这东东吧。http://blog.csdn.net/heiyeshuwu/archive/2006/06/11/787605.aspx
pmwiki倒是老实很多,既然做不了分词,干脆就用直接的字符串查找来进行全文搜索,页面不多的时候,也还是够用的了。
不过最终还是选择了 doku ,因为我需要将 wiki 页面的内容直接取下来用, docu 的页面文件比 pmwiki 干净很多,没有任何杂乱的东西,这点倒还是不错的。
这两个都有中文文件的问题,pmwiki 将utf8 编码直接送到操作系统,导致创建的文件名是乱码。需要修改 pmwiki.php 中读写文件的几行语句。docu 将页面用 urlencode 编码后用做文件名,这样中文页面一个汉字需要9个字符来表示,页面名称不能太长,否则文件名就超过256字符限度了,不过 docu 提供了两个专门的 pagename filename 来回转换的函数,修改这两个函数就差不多可以了。
pmwiki其实并没有那么差劲,相比之下,页面数量在1000以内的话,pmwiki 应该是更好的选择。 dokuwiki 的中文全文索引完全无法使用,没有进行分词,而是将每个汉字作为一个词进行索引,所以任何查询都会在全文查找中找到一大堆页面,根本没法用,最后还只好将全文检索去掉了。注释掉 inc/html.php 中 html_search 函数全文检索那段。不过这里有一个 php 简单分词的例子,现在懒得研究了,有时间在研究分词这东东吧。http://blog.csdn.net/heiyeshuwu/archive/2006/06/11/787605.aspx
pmwiki倒是老实很多,既然做不了分词,干脆就用直接的字符串查找来进行全文搜索,页面不多的时候,也还是够用的了。
不过最终还是选择了 doku ,因为我需要将 wiki 页面的内容直接取下来用, docu 的页面文件比 pmwiki 干净很多,没有任何杂乱的东西,这点倒还是不错的。
这两个都有中文文件的问题,pmwiki 将utf8 编码直接送到操作系统,导致创建的文件名是乱码。需要修改 pmwiki.php 中读写文件的几行语句。docu 将页面用 urlencode 编码后用做文件名,这样中文页面一个汉字需要9个字符来表示,页面名称不能太长,否则文件名就超过256字符限度了,不过 docu 提供了两个专门的 pagename filename 来回转换的函数,修改这两个函数就差不多可以了。