BugTrack/692
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
* テキスト検索の結果表示にページ本文を含める [#vdc8b14d]
-ページ: [[BugTrack]]
-投稿者: [[toba]]
-優先順位: 低
-状態: 完了
-カテゴリー: 本体新機能
-投稿日: 2004-09-16 (木) 09:39:26
-バージョン: 1.4.4
-リリース予定バージョン: 1.5.2
**メッセージ [#necc3ac6]
[[PukiWiki/1.4/ちょっと便利に/単語検索の結果表示を拡張]]...
小規模なサイトには非常に便利なこの機能があれば、検索結果...
勿論、中・大規模なサイトでは負担が増える場合が想定される...
----
#search(BugTrack)
*** [[BugTrack/607]]より: [#ucd8b0ec]
pukiwiki.ini.php できりかえられるとよいかと思います。
//検索の際にページ名だけではなくマッチした行も表示する
$search_detail = 1;
のように。
まだ問題点があるようですが、改善含めてよろしくお願いしま...
**関連 [#s8e8d852]
- [[PukiWiki/1.4/ちょっと便利に/単語検索の結果表示を拡張]]
-
- [[しろくろのへや:質問箱/63]]
- [[official:WebTrack/4]]
- [[official:欲しいプラグイン/112]]
----
-20件ずつ表示とかなら便利ですね。 -- [[あーる]] &new{2004...
-うーむ、すでに副作用が挙げられていますね (^^; -- [[heno...
-副作用の解決案です。検索結果を整形済みテキストにすること...
-- &ref(./search_pre.diff.1.4.5_1.txt); ((pukiwiki-1.4.5_...
--wiki書式のまま表示されるので使い勝手はいまいちかもしれ...
#ref(do_search_diff.gif,nolink,center)
-いい感じですね ;) 絵を張っときました。既存の検索と切り替...
-Wiki書式のままの出力ってカッコ良くはないですけど、//のコ...
-あら、まだ無駄なcountが残ってましたね (^^; 差分をかなり...
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_notfoundr...
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($pag...
}
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&...
$r_page . '&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]] &...
-さらに拡張してみました。詳細は[[teanan:自作プラグイン/se...
#comment
** 実装案B by umorigu [#c3a972bc]
検索負荷が高いのが気になっていましたので、JavaScriptを使...
- search2プラグイン(新設)による実装
- JavaScript利用: 検索語が見つかったページの本文をサーバ...
- 詳細表示のON/OFFを切り替えられる(CSS利用)
- [[BugTrack/2434]] 検索のキャンセル
-- (サーバー負荷に影響するのは主にこれ)
- ページング表示なし。1ページで検索結果をすべて表示する
- ブラウザ側要件: HTML5 - Fetch API
-- ブラウザがFetch APIに対応している場合、JavaScriptロジ...
*** 残件 (2017/09/25現在) [#d8edd95c]
- (a) DONE %%pg_passsage表示%%
- (b) DONE %%OR検索対応%%
- (c) DONE %%JavaScript skin/search2.js を skin/main.js ...
-- 既に220行になっており、main.js (240行) と統合するには...
-- 400行になった。分離したままの方がよさそう
- (e) DONE %%Fetch APIエミュレーションでIE11対応できるか...
-- [[github.com:stefanpenner/es6-promise]] と [[github.co...
-- IE6で旧検索が動作することを確認
-- 条件付きコメントでsearch2.jsを読まないようにすることで...
- (f) DONE %%EUC-JPでの動作の確認 (動作するようにする or ...
-- EUC-JP対応した
- (g) DONE %%サーバー側とクライアント側で検索ロジックが違...
-- ひらがな・カタカナ・半角カタカナ どれでも強調表示され...
- (h) DONE %%詳細の最初の見出し、または本文の冒頭部分が表...
-- 主に BugTrack - ページ名が番号のため、ページ名だけでは...
-- 本文の先頭150文字を表示するようにした
- (i) DONE %%PHP5.4未満で実行しないようにする%%
- (j) DONE %%リンク先での強調表示%%
-- DONE %%Firefoxで強調表示されない%%
- (k) DONE %%base対応%%
- (l) DONE %%search2による新URLを非対応ブラウザで開いた時...
----
- JavaScriptを利用して分割して検索することで、サーバー負...
-- 負荷軽減というより負荷分割ですね。CPU1コアに対して負荷...
- 仮で実装しました。モダンブラウザ限定(具体的には Fetch ...
-- IE11はFetch API非対応のため利用できません。Chrome, Fir...
- 元の提案の実装とはずいぶん変わっていますのでタイトルを...
- 残件を書き出してみました。結構多い... -- [[umorigu]] &n...
- 実装更新して、このサイトPukiWiki-devの実装も追従させま...
-- [[github.com:stefanpenner/es6-promise]] と [[github.co...
-- お疲れ様です。それぞれMITライセンスですが、(カスタマイ...
-- 「それぞれをマージした先はこのサイト(のみ)ですか?」...
-- 了解しました。仮にそれらがリポジトリや配布物に含まれる...
-- ありがとうございます。外部ライブラリを含めるときにはそ...
- 残件をすべて実装しました。完了とします commit:15e6dda25...
- [[BugTrack/2433]] テキスト検索の時分割実行とキャンセル ...
#comment
終了行:
* テキスト検索の結果表示にページ本文を含める [#vdc8b14d]
-ページ: [[BugTrack]]
-投稿者: [[toba]]
-優先順位: 低
-状態: 完了
-カテゴリー: 本体新機能
-投稿日: 2004-09-16 (木) 09:39:26
-バージョン: 1.4.4
-リリース予定バージョン: 1.5.2
**メッセージ [#necc3ac6]
[[PukiWiki/1.4/ちょっと便利に/単語検索の結果表示を拡張]]...
小規模なサイトには非常に便利なこの機能があれば、検索結果...
勿論、中・大規模なサイトでは負担が増える場合が想定される...
----
#search(BugTrack)
*** [[BugTrack/607]]より: [#ucd8b0ec]
pukiwiki.ini.php できりかえられるとよいかと思います。
//検索の際にページ名だけではなくマッチした行も表示する
$search_detail = 1;
のように。
まだ問題点があるようですが、改善含めてよろしくお願いしま...
**関連 [#s8e8d852]
- [[PukiWiki/1.4/ちょっと便利に/単語検索の結果表示を拡張]]
-
- [[しろくろのへや:質問箱/63]]
- [[official:WebTrack/4]]
- [[official:欲しいプラグイン/112]]
----
-20件ずつ表示とかなら便利ですね。 -- [[あーる]] &new{2004...
-うーむ、すでに副作用が挙げられていますね (^^; -- [[heno...
-副作用の解決案です。検索結果を整形済みテキストにすること...
-- &ref(./search_pre.diff.1.4.5_1.txt); ((pukiwiki-1.4.5_...
--wiki書式のまま表示されるので使い勝手はいまいちかもしれ...
#ref(do_search_diff.gif,nolink,center)
-いい感じですね ;) 絵を張っときました。既存の検索と切り替...
-Wiki書式のままの出力ってカッコ良くはないですけど、//のコ...
-あら、まだ無駄なcountが残ってましたね (^^; 差分をかなり...
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_notfoundr...
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($pag...
}
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&...
$r_page . '&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]] &...
-さらに拡張してみました。詳細は[[teanan:自作プラグイン/se...
#comment
** 実装案B by umorigu [#c3a972bc]
検索負荷が高いのが気になっていましたので、JavaScriptを使...
- search2プラグイン(新設)による実装
- JavaScript利用: 検索語が見つかったページの本文をサーバ...
- 詳細表示のON/OFFを切り替えられる(CSS利用)
- [[BugTrack/2434]] 検索のキャンセル
-- (サーバー負荷に影響するのは主にこれ)
- ページング表示なし。1ページで検索結果をすべて表示する
- ブラウザ側要件: HTML5 - Fetch API
-- ブラウザがFetch APIに対応している場合、JavaScriptロジ...
*** 残件 (2017/09/25現在) [#d8edd95c]
- (a) DONE %%pg_passsage表示%%
- (b) DONE %%OR検索対応%%
- (c) DONE %%JavaScript skin/search2.js を skin/main.js ...
-- 既に220行になっており、main.js (240行) と統合するには...
-- 400行になった。分離したままの方がよさそう
- (e) DONE %%Fetch APIエミュレーションでIE11対応できるか...
-- [[github.com:stefanpenner/es6-promise]] と [[github.co...
-- IE6で旧検索が動作することを確認
-- 条件付きコメントでsearch2.jsを読まないようにすることで...
- (f) DONE %%EUC-JPでの動作の確認 (動作するようにする or ...
-- EUC-JP対応した
- (g) DONE %%サーバー側とクライアント側で検索ロジックが違...
-- ひらがな・カタカナ・半角カタカナ どれでも強調表示され...
- (h) DONE %%詳細の最初の見出し、または本文の冒頭部分が表...
-- 主に BugTrack - ページ名が番号のため、ページ名だけでは...
-- 本文の先頭150文字を表示するようにした
- (i) DONE %%PHP5.4未満で実行しないようにする%%
- (j) DONE %%リンク先での強調表示%%
-- DONE %%Firefoxで強調表示されない%%
- (k) DONE %%base対応%%
- (l) DONE %%search2による新URLを非対応ブラウザで開いた時...
----
- JavaScriptを利用して分割して検索することで、サーバー負...
-- 負荷軽減というより負荷分割ですね。CPU1コアに対して負荷...
- 仮で実装しました。モダンブラウザ限定(具体的には Fetch ...
-- IE11はFetch API非対応のため利用できません。Chrome, Fir...
- 元の提案の実装とはずいぶん変わっていますのでタイトルを...
- 残件を書き出してみました。結構多い... -- [[umorigu]] &n...
- 実装更新して、このサイトPukiWiki-devの実装も追従させま...
-- [[github.com:stefanpenner/es6-promise]] と [[github.co...
-- お疲れ様です。それぞれMITライセンスですが、(カスタマイ...
-- 「それぞれをマージした先はこのサイト(のみ)ですか?」...
-- 了解しました。仮にそれらがリポジトリや配布物に含まれる...
-- ありがとうございます。外部ライブラリを含めるときにはそ...
- 残件をすべて実装しました。完了とします commit:15e6dda25...
- [[BugTrack/2433]] テキスト検索の時分割実行とキャンセル ...
#comment
ページ名: