Namazu-users-ja(旧)


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: 検索結果 Results: 等を非表示にする方法



いわきりです。

Ken Oisawaさんの<39D4A663316.2509KEN@xxxxxxxxxxxxxx>から
 > 検索結果でたとえば
 >Results:
 >References: [ 単語: 2 ] 
 >Total 2 documents matching your query.
 >や
 >Current List: 1 - 2
 >Page: [1] 
 >などと表示されます。これを非表示にしたいのですが、可能でしょうか。

これらの処理は、namazu-cgi.c(form.cだったかな?)の中に
ハードコーディングされているので直接直すか、libnmzを直接
利用するアプリケーションを用意した方が早いと思います。

PHP4(www.php.gr.jpから辿れます)が利用できるのでしたら
塚田さんと言う方がPHP用のNamazuモジュールを提供されていますので
導入してください。
それを利用するPHPスクリプトを私もサンプルとして書いたものが
あるので試されてはいかがでしょうか?
適当に直せば好きなように結果の表示が出来るようになります。

下記のようなスクリプトで制御できます。
下記URLで取得できます。
  http://datula.mio.org/~iwakiri/php_nmz_sample.tar.gz  (size: 4992 byte)

-- 
<script language="php">
// main
// load_nmz_extentions();
require('./namazu.inc');

$nmz = new namazu(basename($SCRIPT_FILENAME));

$msg0 = array (
//  __NMZ_NHITS__ は、現状ハードコーディングしているので
//  適当にnamazu.incを修正してください
	'',
	'<hr>',
	'<h2>検索結果</h2>',
	'<p><strong>検索式にマッチする __NMZ_NHITS__ 個の文書が見つかりました。</strong></p>',
	'<dl>'
);
// $msg1 = load_file("/home/iwakiri/pgsql_jp/index/NMZ.tips.ja");
$msg1 = load_file("/usr/local/share/namazu/template/NMZ.tips.ja");
$msg2 = array (
	'',
	'<hr>',
	'<h2>検索結果</h2>',
	'<p><strong>検索式が長過ぎるため、検索を中止しました。</strong></p>'
);
$msg3 = array (
	'',
	'<hr>',
	'<h2>検索結果</h2>',
	'<p><strong>ERROR: システムの設定を見直してください。</strong></p>'
);

$global_conf = '/usr/local/etc/namazu/namazurc';
$local_conf = dirname($SCRIPT_FILENAME) . '/.namazurc';
$rc_file = array ($global_conf, $local_conf);

// Namazu startup fileの読み込み 
$nmz->load_rc($rc_file);

// Template is output format files
// $nmz_template($header, $result_normal, $result_short, $footer)
// 空の場合、rc_fileの設定に従う
$nmz->load_template('', '', '', '');

// $nmz->open(), $nmz->search()の返り値に従い、出力する
// メッセージを登録
$nmz->regist_message('success',     $msg0);
$nmz->regist_message('empty_query', $msg1);
$nmz->regist_message('long_query',  $msg2);
$nmz->regist_message('sys_error',   $msg3);

// 検索結果の表示方法を制御
$nmz->set_parm('Paging', 'on');
$nmz->set_parm('Emphasis', 'on');

if (isset($whence)  ) $nmz->set_option('whence',   $whence  );
if (isset($max)     ) $nmz->set_option('max',      $max     );
if (isset($result)  ) $nmz->set_option('result',   $result  );
if (isset($sort)    ) $nmz->set_option('sort',     $sort    );
if (isset($query)   ) $nmz->set_option('query',    $query   );
if (isset($subquery)) $nmz->set_option('subquery', $subquery);

// namazu_core routine
$result = $nmz->open();
if ($result == 'success') {
	$result = $nmz->search();
}

$nmz->output_header();
$nmz->output_message($result);
if ($result == 'success') {
	$nmz->output_result();
}
$nmz->output_footer();
$nmz->close();
</script>