**namazu.inc.php [#k026bc59]
|RIGHT:100|LEFT:360|c
|~サマリ|Namazu検索ページ表示用プラグイン|
|~リビジョン|1.0|
|~対応バージョン|1.4.2|
|~投稿者|[[nobu_s]]|
|~投稿日|&new{2004-05-19 (WED) 17:56:08};|

***ダウンロードとバージョンアップ履歴 [#j1832f24]
|~バージョン|~変更点|h
|&ref(./namazu.inc.php1.0,1.0);|初期リリース|
-バージョン№をクリックしてダウンロードしてください。
-プラグインフォルダにインストールする前にnamazu.inc.phpに名前を変更してください。
***内容 [#tcebd253]
-Namazuの検索ページをPukiWiki内にインライン表示します。また、メニューなどに[[Namazu]]検索用のフォームを表示します。
-表示できるNamazuページはPukiWikiと同一サイトのみとしています。
-複数のインデックス指定には対応していません(時間があるときにでも対応するかもしれません)です。
-PukiWikiのデータをNamazu検索する方法は[[ここ>PukiWiki/Namazu]]を参照してください。
-[[showhtml>自作プラグイン/showhtml.inc.php]]プラグインよりコードの一部を拝借しています。
***使用方法 [#y34c8748]
:書式|
インライン書式
 #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を表示したいページに記入します。引数には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検索の初期表示方法を指定してください。

***アンケート [#ja2820d3]
-このプラグインを使用していますか?一人1回のみ投票して下さい。
||RIGHT:|c
|BGCOLOR(#FFCCCC):''選択肢''|BGCOLOR(#FFCCCC):''投票''|
|BGCOLOR(#EEF5FF):使用している|BGCOLOR(#EEF5FF):27|
-このプラグインに満足しておりますか?
||RIGHT:|c
|BGCOLOR(#FFCCCC):''選択肢''|BGCOLOR(#FFCCCC):''投票''|
|BGCOLOR(#EEF5FF):はい|BGCOLOR(#EEF5FF):12|
|BGCOLOR(#DDE5FF):いいえ|BGCOLOR(#DDE5FF):8|
-「いいえ」に投票した方に質問です。~
どのような修正を加えれば、よくなると思いますか?下記のコメントに記入して下さい。

***コメント [#z89c69f7]
-[[よっちい]] &new{2004-05-20 (THU) 10:28:24};
~インデックスの指定に対応していないのは、(わたしにとって)致命的な欠点です。
--[[nobu_s]] &new{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]] &new{2004-05-20 (THU) 11:56:06};
~上記の様にidxname[]に変更することが可能な場合は&ref(./namazu.inc.php1.0_idx,これ);を使用してみて試してください。すいませんがこちらでは動作未確認ですので結果をお知らせください。。
--[[よっちい]] &new{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]] &new{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]] &new{2004-05-21 (FRI) 07:12:54};
~一応こちらで環境を作ってみて複数インデックスに対応してみました。&ref(./namazu.inc.php1.0_idx2,これ);を試してみてください。設定については
 define("DEF_IDXNAME","");
が増えていますのでインデックス名を指定(複数も可能です)してください。
~こちらでの複数インデックスの動作確認はほとんどしていません。とりあえず動くものを作っただけですので、動作報告お願いします。
-namazu.inc.php1.0_idx2 を PukiWiki 1.4.4 で動作させています。特に手を加えるところもなく、手軽にNamazuの検索フォームが設置できて助かりました。 -- [[d-k]] &new{2004-09-24 (金) 03:39:18};
-idx2、1.4.6_alphaでも動作しています。 --  &new{2005-04-25 (月) 10:03:34};
-namazu.inc.php1.0_idx2ですが、34行目のif文がおかしい様です。DEF_IDXNAMEが効きません。 -- [[e]] &new{2005-06-11 (土) 01:11:06};
-namazuの出力する文字コードとpukiwikiの文字コードが違うと当然文字化けします。79行目でmb_convert_encodingしてあげる事でうまくいきました。 -- [[e]] &new{2005-06-11 (土) 01:14:03};
- インデックス使用確認できました。ノーマルのHTMLとPukiWikiの混在する環境で検索できるようになって感謝しています。[[しのぐ]]
- 携帯電話からアクセスすると結果がうまく表示されません。FOMA900です。携帯からアクセスした場合の対処にいいアイデアはないものでしょうか?ちなみに通常のnamazuは携帯からアクセスできるのでいったんPukiWikiを抜けるとPukiWikiの内容を検索できるようになっています。[[稼動URL>http://shinogu.homelinux.com/5/ti_3ed/wiki/]][[しのぐ]]
- PukiWiki-1.4.7で動きません。検索後入力してボタンをクリックすると、以下のようなメッセージページになってしまいます。&br; encode_hint=ぷ&query=掲示板&submit=Search!&whence=0&max=10&result=normal&sort=score は有効な WikiName ではありません。&br;PukiWiki画面ではないNamazuの画面では何とか検索できるようにはしたのですが。。。 -- [[ytomi]] &new{2007-02-23 (金) 16:56:00};
-- ytomiさんの書き込みに関してですが、いつからかnamazuが出力しているHTMLがちょっと変わったようで、FORMのmethodが"小文字の"getになってしまって上手く動作しないようです。&br;バージョンに依存しないようにするには正規表現で大文字小文字は無視して置換するようにすればいいですかね。&br;84行目を「$httpfile = preg_replace("/".$form_pattern."/i",$form_replace,$httpfile);」とすればいいと思います。 -- [[TATSUYA]] &new{2007-03-03 (土) 00:27:02};
-- TATSUYAさん、ありがとうございました!ーできましたーずっと悩んでたのでほっとしました。 -- [[ytomi]] &new{2007-03-03 (土) 14:45:07};
- FSWikiから調査をはじめ、Pukiwikiにたどり着きました。まだまだ本採用までいたってません。検索においてサーバに負荷をかけたくないと思い、NAMAZUを試行中です。namazuプラグインは問題なく動作し始めました。 あと、NAMAZUの自動インデックス作成がうまくいきません。手動で作成するには問題ありませんが、Pukiで編集しても再構築されません。PHPのセーフモードはOffです。Pukiは1.4.7のeuc版です。どなたかヒントありませんでしょうか。 -- [[boo]] &new{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]] &new{2008-05-22 (木) 00:45:43};
- 第1引数にbox、第2引数にnamazuの表示ページを指定する場合に、namazu表示ページのwikiネームに日本語が含まれていると、IE6の一部ではwiki編集画面となってしまいました。50行目付近を次のように変更したらうまく行きました → $page_name   = urlencode($args[1]); -- [[umasa]] &new{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 置き換えの正規表現を使わない版も、%%意味なく%%ついでに書いてみたり --  &new{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 ]] &new{2011-01-04 (火) 00:16:01};

- 此のプロジェクトは終了してしまったのでしょうか?6時間程頑張って設置を試みました。namazu検索バーはpukiwikiに設置されるのですが、其れで検索した結果、http&#x3a;//localhost/pukiwiki/index.php?cmd=read&page=http://<path to namazu cgi>/namazu.cgiのURLが現れ、pukiwikiのpageには[は有効な InterWikiName ではありません]と表示さるだけです。 -- [[ak]] &new{2011-01-04 (火) 00:16:01};
- http://pukiwiki.sourceforge.jp/?InterWiki "動的にInterWikiへWikiNameを渡す"でnamazu検索のページに飛ぶ事で取りあえず我慢します。 -- [[ak]] &new{2011-01-04 (火) 01:24:13};
- このプロジェクトもなにも、namazu の開発は終了してますよね。 --  &new{2011-01-04 (火) 19:35:28};
- ELKuUeRCgQDelmv -- [[iffemwzdkje]] &new{2013-08-20 (火) 22:37:30};

#comment(above)
//#comment(above)

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Site admin: PukiWiki Development Team

PukiWiki 1.5.4+ © 2001-2022 PukiWiki Development Team. Powered by PHP 5.6.40-0+deb8u12. HTML convert time: 0.140 sec.

OSDN