目次

DokuWiki

DokuWikiは、MediaWikiとはを単純にし、管理機能やアクセス制限機能を使いやすくした感じの簡易Wikiです。

日本では徐々に知名度が上がってきている段階だけど欧米では非常に人気があり、「気軽にwikiをやってみたい」となったらまずこのDokuWikiになります。

開発者のAndreas Gohrがドイツ人という事もあり、特にドイツ、イギリス、スイス、フランスあたりでは人気。

思えば、英語のつづりだと「DocuWiki」になるはずですが、ドイツ語つづりの「DokuWiki」ですね。

コンテンツ

DokuWikiの特徴

特に便利なのが、

「特定のページ(サイト全体)を、自分だけが編集出来るようにしたい」といった事が簡単に出来る。

また、ページ名変更・移動はサイト内の全リンクを書き替えてくれるので、リンク切れが起こりにくい。

さらに、

といった特徴があります。

短所も目立つ

操作が簡単な分、「え? それが出来ないの?」というものが結構ある。

標準では、文字サイズを変えたり文字色を変えたり出来ない。typographyプラグインfontsizeプラグインcolorプラグインなどのプラグインを使うとか、HTML表示を有効にするなどの工夫が必要。

定義リストタイトル1
     定義リスト本文1

定義リストタイトル2
     定義リスト本文2

といった、定義リストも(標準では)用意されておらず、definitionlistなどのプラグインが必要。

ただ、簡単さは開発者もユーザーも理解しているようで、「もっと高機能なサイトを作りたくなったら、他のCMSにのりかえ」という事になるっぽい。

大量のページがあるサイトには不向き

DokuWikiは、小規模なまとめサイトが多いです。これは、大量ページを処理する仕組みが弱いのが一因です。

特に、名前空間の変更の手間は問題です。理屈上、「名前空間を不用意に変更すべきじゃない」というのはわかるけど、 名前空間を変更しづらいのは、単純に使いにくい

日本語環境特有の問題

日本語環境だと、さらに以下のような問題が。

と、日本語で使うには微妙に問題があるけど、数あるWikiの中でももっとも使いやすい一つなのは確か。

検索の不具合・一部のプラグインの不具合は結構根が深い

DokuWikiで日本語を検索するとまともにヒットしなかったりハイライトがおかしくなったりする。また、一部のプラグインが全く動作しなかったりする。

これらは、結構根の深い問題。

DokuWikiの単語切り出し方法

DokuWikiは基本的に、転置インデックス2)の検索システム。

  1. 文章を半角スペースで区切り、単語を切り出す
  2. 切り出した単語を、インデックスファイルに登録
  3. 検索や一部のプラグインが、そのインデックスファイルを参照

という風に動き、検索の高速化などを図っている。
英語やドイツ語など、欧米系の言語ではこれでさほど問題はない。3)

しかし、日本語、中国語、韓国語、タイ語など、「文章は、文字を連続して書く。スペースで単語と単語の間を分けたりはしない」という言語では、かつては重大な問題が生じていた。

  1. 単語と単語の間に半角スペースがないため、単語を切り出せない
  2. その結果、段落全体が「単語」として登録されてしまう事があった
  3. そのため、検索してもほとんどヒットしない

この問題が指摘され、暫定的に「アジア系文字が現れたら文章を1文字ごとに切り、1文字=1単語としてインデックスファイルに登録する」という風に改良された。これにより、一応日本語でも検索が使えるようになった。

でも、たとえば「ブログ」で検索をかけると、「ブ」「ロ」「グ」の3文字で検索をかけたのと似たような4)結果に。

日本語での根本的解決

この問題を解決する方法はいくつかあるけど、よく知られていてかつDokuWikiの基本動作を大きく変えずに対応するには、

のどちらか(あるいはその複合)。5)

完璧な辞書を整えれば形態素解析の方が正確に判定出来る可能性が高いけど、未知の言語、口語が多用される領域(携帯サイトなど)ではN-gramの方が有用。

でも、

といった事で、「アジア系文字は1文字を1単語」状態はいまだに改善されていない。

現在、形態素解析器のMeCabを使って分かち書きしインデックスファイルに登録する方法が紹介されている。

http://www.higuchi.com/dokuwiki/dokuwiki:localize

これにより、検索や一部プラグイン(autolink、cloud他)での不具合をある程度回避出来るようになる。

MeCabの導入は、

  • 環境によっては結構手間
  • DokuWiki本体の検索結果表示はいろいろ変だけど、アジア系言語は自動的にフレーズ検索する仕様なので、以前と違っておおむね目的のページがヒットする
  • インデックスを簡単に再構築出来るSearchIndexプラグインは、動作が微妙におかしい

などあるため、必須というわけではない。

/inc/fulltext.phpを少し修正すると、検索結果のハイライトは正しい表示になります。→ 日本語検索の修正

日本での普及は?

2006年春頃は、実験的に導入している人はそこそこいたけど、本格運用しているっぽいサイトはPukiWikiはもちろんMediaWikiとはに比べてもはるかに少なかった。

2009年頃には日本語でもかなりサイトが増えてきて、PukiWikiからの移籍も見られるようになっている。

リンク

公式サイト http://www.dokuwiki.org/
バイオ関連の用語や情報のまとめ http://wiki.symplus.co.jp/

1) だんだんましになっているが、2009年時点でもそれなりにある
2) 本にたとえれば、索引みたいなもの
3) 格変化、合字(リガチャ)、縮約といったあたりで不正確になるけど、致命的じゃない
4) 完全に同じではない
5) DokuWikiの「アジア系言語は1文字を1単語とみなす」改良は、ごく単純なN-gram方式とも言える