namazu.inc.php

サマリNamazu検索ページ表示用プラグイン
リビジョン1.0
対応バージョン1.4.2
投稿者nobu_s
投稿日2004-05-19 (WED) 17:56:08

ダウンロードとバージョンアップ履歴

バージョン変更点
file1.0初期リリース
  • バージョン№をクリックしてダウンロードしてください。
  • プラグインフォルダにインストールする前にnamazu.inc.phpに名前を変更してください。

内容

  • Namazuの検索ページをPukiWiki内にインライン表示します。また、メニューなどにNamazu検索用のフォームを表示します。
  • 表示できるNamazuページはPukiWikiと同一サイトのみとしています。
  • 複数のインデックス指定には対応していません(時間があるときにでも対応するかもしれません)です。
  • PukiWikiのデータをNamazu検索する方法はここを参照してください。
  • showhtmlプラグインよりコードの一部を拝借しています。

使用方法

書式
インライン書式
#namazu(/foo/bar/namazu.cgi)
#namazu(box,NamazuSearch)
概要
  • #namazu(/foo/bar/namazu.cgi)

    Namazuを表示したいページに記入します。引数にはNamazuのURLのドメイン以下を指定してください。上記の例はhttp://www.example.com/foo/bar/namazu.cgiの場合になります。

  • #namazu(box,NamazuSearch)

    第1引数に'box'を指定した場合は、Namazu検索用フォームを表示します。第2引数には上記#namazu(/foo/bar/namazu.cgi)を設置したwikiページを指定してください。メニュー等に設置してください。

設定
  • namazu.inc.phpでオプションを設定できます。好みにより指定してください。
    define("DELETE_STRINGS","\<h1\>Namazu.*\<\/h1\>|\<address\>.*\<\/address\>");
    define("BUTTON_NAME","search");
    define("BOX_WIDTH","15");
    define("DEF_MAX","10");
    define("DEF_RESULT","normal");
    define("DEF_SORT","score");
    • DELETE_STRINGSには削除する文字列を正規表現で指定してください。初期設定では文字列'Namazu による全文検索システム'とNamazu管理者のメールアドレスを削除しています。
    • BUTTON_NAMEには検索フォーム上のボタンに表示する文字列を指定してください。
    • BOX_WIDTHには検索フォーム上のテキストボックスのサイズを指定してください。
    • DEF_MAX,DEF_RESULT,DEF_SORTにはNamazu検索の初期表示方法を指定してください。

アンケート

  • このプラグインを使用していますか?一人1回のみ投票して下さい。
    選択肢投票
    使用している27
  • このプラグインに満足しておりますか?
    選択肢投票
    はい12
    いいえ8
  • 「いいえ」に投票した方に質問です。
    どのような修正を加えれば、よくなると思いますか?下記のコメントに記入して下さい。

コメント

  • よっちい 2004-05-20 (THU) 10:28:24

    インデックスの指定に対応していないのは、(わたしにとって)致命的な欠点です。

    • nobu_s 2004-05-20 (THU) 11:10:30

      やっぱり需要はありますか。とりあえずPukiwiki内のデータのみ検索できることが目的だったのでこういう仕様になっています。

      試す環境が無い(Namazuの複数インデックス環境を構築していない)のでなんともいえないのですが、http://www.namazu.org/cgi-bin/namazu.cgiでインデックスを指定して試してみたのですが、GETの文字列を見ると同じキーが複数でてくるのが問題となってます。

      NMZ.head.jaでidxnameをidxname[]に変更すればこのプラグインでの対応は可能ですが、Namazuの検索ができるかがわかりません。NMZ.head.jaでidxname[]に変えてみて問題があるかないか試してもらえますか?

    • nobu_s 2004-05-20 (THU) 11:56:06

      上記の様にidxname[]に変更することが可能な場合はfileこれを使用してみて試してください。すいませんがこちらでは動作未確認ですので結果をお知らせください。。

    • よっちい 2004-05-20 (THU) 17:28:11

      idxname[]は使えない模様です。とりあえず

      -            $idxname .= "&idxname[]=".$post["idxname"][$i];
      +            $idxname .= "&idxname=".$post["idxname"];
      こうすることで、単一インデックスの指定はできるようです。が、apacheのlogによるとquery=が
      query=\xcd\xd1\xb7_\xb4\xc9\xcd_
      こんな感じで渡っており、検索が正しく行われないようです(これは環境依存かな....)。
    • nobu_s 2004-05-20 (THU) 17:50:11
      query=\xcd\xd1\xb7_\xb4\xc9\xcd_
      の件はこちらのミスです。
      $parm = "query=".$post["query"]...
      $parm = "query=".urlencode($post["query"])...
      に変更してみてください。

      idxname[]の件については了解しました。別案としてquery,whence,max,result,sort以外のGETパラメーターは全て有効にすることで対応してみたいと思います。少しお待ちください。

  • nobu_s 2004-05-21 (FRI) 07:12:54

    一応こちらで環境を作ってみて複数インデックスに対応してみました。fileこれを試してみてください。設定については

    define("DEF_IDXNAME","");
    が増えていますのでインデックス名を指定(複数も可能です)してください。

    こちらでの複数インデックスの動作確認はほとんどしていません。とりあえず動くものを作っただけですので、動作報告お願いします。

  • namazu.inc.php1.0_idx2 を PukiWiki 1.4.4 で動作させています。特に手を加えるところもなく、手軽にNamazuの検索フォームが設置できて助かりました。 -- d-k? 2004-09-24 (金) 03:39:18
  • idx2、1.4.6_alphaでも動作しています。 -- 2005-04-25 (月) 10:03:34
  • namazu.inc.php1.0_idx2ですが、34行目のif文がおかしい様です。DEF_IDXNAMEが効きません。 -- e? 2005-06-11 (土) 01:11:06
  • namazuの出力する文字コードとpukiwikiの文字コードが違うと当然文字化けします。79行目でmb_convert_encodingしてあげる事でうまくいきました。 -- e? 2005-06-11 (土) 01:14:03
  • インデックス使用確認できました。ノーマルのHTMLとPukiWikiの混在する環境で検索できるようになって感謝しています。しのぐ?
  • 携帯電話からアクセスすると結果がうまく表示されません。FOMA900です。携帯からアクセスした場合の対処にいいアイデアはないものでしょうか?ちなみに通常のnamazuは携帯からアクセスできるのでいったんPukiWikiを抜けるとPukiWikiの内容を検索できるようになっています。稼動URLしのぐ?
  • PukiWiki-1.4.7で動きません。検索後入力してボタンをクリックすると、以下のようなメッセージページになってしまいます。
     encode_hint=ぷ&query=掲示板&submit=Search!&whence=0&max=10&result=normal&sort=score は有効な WikiName ではありません。
    PukiWiki画面ではないNamazuの画面では何とか検索できるようにはしたのですが。。。 -- ytomi? 2007-02-23 (金) 16:56:00
    • ytomiさんの書き込みに関してですが、いつからかnamazuが出力しているHTMLがちょっと変わったようで、FORMのmethodが"小文字の"getになってしまって上手く動作しないようです。
      バージョンに依存しないようにするには正規表現で大文字小文字は無視して置換するようにすればいいですかね。
      84行目を「$httpfile = preg_replace("/".$form_pattern."/i",$form_replace,$httpfile);」とすればいいと思います。 -- TATSUYA? 2007-03-03 (土) 00:27:02
    • TATSUYAさん、ありがとうございました!ーできましたーずっと悩んでたのでほっとしました。 -- ytomi? 2007-03-03 (土) 14:45:07
  • FSWikiから調査をはじめ、Pukiwikiにたどり着きました。まだまだ本採用までいたってません。検索においてサーバに負荷をかけたくないと思い、NAMAZUを試行中です。namazuプラグインは問題なく動作し始めました。 あと、NAMAZUの自動インデックス作成がうまくいきません。手動で作成するには問題ありませんが、Pukiで編集しても再構築されません。PHPのセーフモードはOffです。Pukiは1.4.7のeuc版です。どなたかヒントありませんでしょうか。 -- boo? 2008-02-05 (火) 14:39:29
  • PukiWiki-1.4.7を使ってますが、namazu.inc.php1.0_idx2で複数インデックスできました。文字化け対策で80行目付近の「//FORMの置換」の前で「$httpfile = mb_convert_encoding($httpfile,'EUC',auto);」と設定したらうまく行きました。eさんありがとうございます。TATSUYAさんのアドバイスも助かりました。namazuがpukiwiki内で動いて感動です。ただ、自動インデック更新は、設定は全てしたつもりですがうまくいってません。 -- umasa? 2008-05-22 (木) 00:45:43
  • 第1引数にbox、第2引数にnamazuの表示ページを指定する場合に、namazu表示ページのwikiネームに日本語が含まれていると、IE6の一部ではwiki編集画面となってしまいました。50行目付近を次のように変更したらうまく行きました → $page_name = urlencode($args[1]); -- umasa? 2008-05-29 (木) 09:17:46
  • それなら次のところもやばい気が・・・ (idx2では80行目の辺り)
             //FORMの置換(フォームをPOSTに変更・フォームの移動先をPAGE_NAMEのGETに変更)
                 $form_pattern = "method=\"GET\"";
                 $form_replace = "method=\"post\"";
    -            $httpfile = str_replace($form_pattern,$form_replace,$httpfile);
    +            $httpfile = str_ireplace($form_pattern,$form_replace,$httpfile);
                 
                 $url_pattern = "(action=\")(.*)(\")";
                 preg_match("/".$url_pattern."/",$httpfile,$matchs);
    -            $url_replace = $matchs[1].$script."?cmd=read&amp;page=".$vars["page"].$matchs[3];
    +            $url_replace = $matchs[1].$script."?cmd=read&amp;page=".urlencode($vars["page"]).$matchs[3];
                 $httpfile = preg_replace("/".$url_pattern."/i",$url_replace,$httpfile);
                 
             //リンク先の置換(リストが多数の場合のページ番号によるリンク先を変更)
    -            $link_replace = $script."?cmd=read&amp;page=".$vars["page"]."&amp;";
    +            $link_replace = $script."?cmd=read&amp;page=".urlencode($vars["page"])."&amp;";
                 $httpfile = str_replace($matchs[2]."?",$link_replace,$httpfile);
    get → post 置き換えの正規表現を使わない版も、意味なくついでに書いてみたり -- 2008-05-29 (木) 17:18:56
  • 此のプロジェクトは終了してしまったのでしょうか?6時間程頑張って設置を試みました。namazu検索バーはpukiwikiに設置されるのですが、其れで検索した結果、http://localhost/pukiwiki/index.php?cmd=read&page=http://<path to namazu cgi>/namazu.cgiのURLが現れ、pukiwikiのpageには[は有効な InterWikiName ではありません]と表示さるだけです。 -- ak? 2011-01-04 (火) 00:16:01
  • http://pukiwiki.sourceforge.jp/?InterWiki "動的にInterWikiへWikiNameを渡す"でnamazu検索のページに飛ぶ事で取りあえず我慢します。 -- ak? 2011-01-04 (火) 01:24:13
  • このプロジェクトもなにも、namazu の開発は終了してますよね。 -- 2011-01-04 (火) 19:35:28

添付ファイル: filenamazu.inc.php1.0_idx2 2388件 [詳細] filenamazu.inc.php1.0_idx 1857件 [詳細] filenamazu.inc.php1.0 2995件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2013-08-20 (火) 23:18:02
Site admin: PukiWiki Development Team

PukiWiki 1.5.2+ © 2001-2019 PukiWiki Development Team. Powered by PHP 5.6.40-0+deb8u7. HTML convert time: 0.422 sec.

OSDN