*「単語検索の結果表示を拡張」の標準化 [#vdc8b14d]

-ページ: BugTrack
-投稿者: [[toba]]
-優先順位: 低
-状態: 提案
-カテゴリー: 本体新機能
-投稿日: 2004-09-16 (木) 09:39:26
-バージョン: 1.4.4

**メッセージ [#necc3ac6]
[[PukiWiki/1.4/ちょっと便利に/単語検索の結果表示を拡張]]の標準化を希望します。~
小規模なサイトには非常に便利なこの機能があれば、検索結果一覧からページを選択して見ていくのに、一覧の時点である程度のマトが絞られ、非常に便利かと思います。~
勿論、中・大規模なサイトでは負担が増える場合が想定されるので、pukiwiki.ini.phpあたりで機能のON・OFFが選択できると、運用していく過程で小規模→中・大規模になって、負担が増えた場合に運用方法の変更ができるのではと思います。

*** [[BugTrack/607]]より: [#ucd8b0ec]

pukiwiki.ini.php できりかえられるとよいかと思います。
 //検索の際にページ名だけではなくマッチした行も表示する
 $search_detail = 1;
のように。

まだ問題点があるようですが、改善含めてよろしくお願いします。

**関連 [#s8e8d852]
- [[PukiWiki/1.4/ちょっと便利に/単語検索の結果表示を拡張]]
- 
- [[しろくろのへや:質問箱/63]]
- [[org:WebTrack/4]]
- [[org:欲しいプラグイン/112]]
- [[official:WebTrack/4]]
- [[official:欲しいプラグイン/112]]

----
-20件ずつ表示とかなら便利ですね。 -- [[あーる]] &new{2004-09-30 (木) 23:17:09};
-うーむ、すでに副作用が挙げられていますね (^^;  -- [[henoheno]] &new{2004-10-01 (金) 21:05:25};
-副作用の解決案です。検索結果を整形済みテキストにすることで、エラーは発生しなくなるかと思います。-- [[teanan]] &new{2005-05-16 (月) 14:47:12};
-- &ref(./search_pre.diff.1.4.5_1.txt); ((pukiwiki-1.4.5_1 で最小の差分になるようにしています。))
--wiki書式のまま表示されるので使い勝手はいまいちかもしれませんが・・・ (^^; -- [[teanan]] &new{2005-05-16 (月) 14:49:17};

#ref(do_search_diff.gif,nolink,center)
-いい感じですね ;) 絵を張っときました。既存の検索と切り替えができないので現状 patch提供のみになりそうですね・・・。ところでdo_search()、何か直せそうな所は無いでしょうか -- [[henoheno]] &new{2005-05-17 (火) 21:50:53};
-Wiki書式のままの出力ってカッコ良くはないですけど、//のコメントも検索に引っかかる仕様も考えると、都合良いときもあるような (ので賛成に一票)。 -- [[にぶんのに]] &new{2005-05-17 (火) 23:13:22};
-あら、まだ無駄なcountが残ってましたね (^^; 差分をかなりシェイプアップしたので、機能のON/OFFへの対応は簡単です :) -- [[teanan]] &new{2005-05-23 (月) 18:09:22};

 pukiwiki.ini.php : 233行目あたりが最適か?
 /////////////////////////////////////////////////
 // Search detail
 // 0: only page name
 // 1: content in detail
 $search_detail = 0;

 --- func.php.orig	Sun Feb 20 21:50:06 2005
 +++ func.php	Mon May 23 18:20:47 2005
 @@ -177,6 +177,7 @@
 	global $script, $whatsnew, $non_list, $search_non_list;
 	global $_msg_andresult, $_msg_orresult, $_msg_notfoundresult;
 	global $search_auth;
 +	global $search_detail;
 
 	$retval = array();
 
 @@ -201,12 +202,14 @@
 			array_unshift($source, $page); // ページ名も検索対象に
 
 		$b_match = FALSE;
 +		$lines = array();
 		foreach ($keys as $key) {
 			$tmp     = preg_grep('/' . $key . '/', $source);
 			$b_match = ! empty($tmp);
 +			$lines += $tmp;
 			if ($b_match xor $b_type) break;
 		}
 -		if ($b_match) $pages[$page] = get_filetime($page);
 +		if ($b_match) $pages[$page] = array(get_filetime($page), $lines);
 	}
 	if ($non_format) return array_keys($pages);
 
 @@ -217,13 +220,21 @@
 
 	ksort($pages);
 	$retval = '<ul>' . "\n";
 -	foreach ($pages as $page=>$time) {
 +	foreach ($pages as $page=>$arr) {
 +		list($time, $lines) = $arr;
 		$r_page  = rawurlencode($page);
 		$s_page  = htmlspecialchars($page);
 		$passage = get_passage($time);
 		$retval .= ' <li><a href="' . $script . '?cmd=read&amp;page=' .
 			$r_page . '&amp;word=' . $r_word . '">' . $s_page .
 			'</a>' . $passage . '</li>' . "\n";
 +		if ($search_detail == 1) {
 +			$source = '';
 +			foreach ($lines as $line) {
 +				$source .= ' '.trim($line)." \n";
 +			}
 +			$retval .= convert_html($source);
 +		}
 	}
 	$retval .= '</ul>' . "\n";
-添付できないので、ベタで書きました &sad; -- [[teanan]] &new{2005-05-23 (月) 18:24:25};
-さらに拡張してみました。詳細は[[teanan:自作プラグイン/search.inc.php(改)]]にて。 -- [[teanan]] &new{2005-06-07 (火) 04:53:41};

#comment


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Site admin: PukiWiki Development Team

PukiWiki 1.5.4+ © 2001-2022 PukiWiki Development Team. Powered by PHP 8.2.12. HTML convert time: 0.036 sec.

SourceForge