検索インデックスの問題
検索した時に「該当文書はありませんでした。」や該当するはずのページより少ない結果しか返ってきません。何ができますか?
DokuWiki は高速な全文検索結果を提供するために、インデックスを利用します。 ページのインデックス作成には時間がかかるので、ページの保存時ではなく、ページの閲覧時にバックグラウンドで作成します。
インデックスを破壊しないように、インデックス作成時は自動的にロックします。 これは同時に1ページずつしかインデックスに追加しないという事です。 更新の多い Wiki では、インデックス作成がページ更新よりも少し遅れる原因になります。 少し待って、ページ閲覧しながらインデックス作成する必要があります。
インデックス作成プロセスは、テンプレートに埋め込まれた小さな画像によって起動されます。 第三者が作成したテンプレートを使用する場合、開発者がこの “webbug” をテンプレートに追加し忘れている可能性があります。 テンプレートの main.php に tpl_indexerWebBug() 関数が存在していることを確認してください。
webbug 関数の使用を確認しても全く検索結果がない場合、
http://yourwiki.com/dokuwiki/lib/exe/indexer.php?id=wiki:syntax
(デバック引数を使うとなお良い:http://yourwiki.com/dokuwiki/lib/exe/indexer.php?id=wiki:syntax&debug=1
)を呼び出して、可能性のあるエラーを確認する必要があります。
すべてが正しければ1×1ピクセルの透明GIF画像が返されるはずです。
Microsoft IIS サーバーで PHP を CGI として動作させている場合、設定項目: broken_iuaを有効にします。 そうでないとインデックス作成プロセスが動きません。
インデックスを手動で作成する必要性もあります。例:data ディレクトリに大量のページをコピーした場合。 indexer.php コマンドラインスクリプトや Searchindex Manager を利用すればインデックスの手動作成も可能です。