hns - 日記自動生成システム - Version 2.19.9

先月 2003年08月 来月
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
Namazu for hns による簡易全文検索
詳しくは 詳細指定/ヘルプを参照して下さい
検索式:

2003年08月20日(水) 旧暦 [n年日記]

#1 [Namazu] 「8月総会内容報告」で検索

「8月総会内容報告」という字が入っているのに
"8月総会内容報告" という検索では何も見つからないな "総会内容報告" なら見つけてくれるのに、 という問題があって、
その一行だけが書いてある 1 という名前の譜を jis で作って 試しているが、"総会内容報告"だけでも見つけてくれないので 変だなぁと試している。(つまり、問題が変ってしまっているのだが)
それにしても、実は namazu --debug というのは初めて使うの で、出力の見方が良く分らない。

mknmz:

> ls
1
> cat 1
8月総会内容報告
> mkdir O
> mknmz -O O 1
検索対象の譜を調べています...
1編の譜が索引作成の対象として見つかりました
Use of uninitialized value in numeric eq (==) at 
  /usr/pkg/lib/perl5/site_perl/5.6.1/File/MMagic.pm line 1002.
1/1 - .. .. /sample-test/august-meeting/1 [text/plain]
索引を書き出しています...
[基本]
日付:                Wed Aug 20 07:48:15 2003
追加された文書数:    1
大きさ (bytes):      22
合計の文書数:        1
追加検索語数:        6
合計検索語数:        6
わかち書き:          module_kakasi -ieuc -oeuc -w
経過時間 (秒):       1
譜/秒:               1.00
系:                  netbsd
Perl:                5.006001
Namazu:              2.0.13pre7

NMZ.w:

> cat O/NMZ.w
1
8
月
総会
内容
報告

> namazu 総会内容報告 O:

> namazu 総会内容報告 O
検索結果

参考一致数:  {  [ 総会: 1 ]  [ 内容: 1 ]  [ 報告: 1 ]  :: 0 } 

検索式に一致する文書はありませんでした。
> namazu -l 総会 O
.. ../sample-test/august-meeting/1
> namazu -l 内容  O
.. ../sample-test/august-meeting/1
> namazu -l 報告 O
.. ../sample-test/august-meeting/1
> namazu -l '総会 内容 報告'  O
.. ../sample-test/august-meeting/1
> namazu -l '総会内容報告' O
> namazu -l 総会内容報告 O
> namazu -l \"総会内容報告\" O
> 

PHRASE search になっている ?:

> namazu -l --debug '総会 内容 報告' O | & egrep 'do|hash'
namazu(debug): do WORD search
namazu(debug): do WORD search
namazu(debug): do WORD search
namazu(debug): do WORD search
namazu(debug): do WORD search
namazu(debug): do WORD search
> namazu -l --debug '総会内容報告' O | & egrep 'do|hash'
namazu(debug): do WORD search
namazu(debug): do PHRASE search
hash:: <総会, 内容>: h:1130, val.num:0
> 
だとしても見つかっても良いような。

nmz/search.c:

この辺で分岐しているらしい
258     if (strchr(key, '\t')) {
259         nmz_debug_printf("do PHRASE search\n");
260         return PHRASE_MODE;
261     } else {
262         nmz_debug_printf("do WORD search\n");
263         return WORD_MODE;
264     }

nmz/search.c:

ここから呼ばれている
1045 NmzResult   
1046 nmz_do_searching(const char *key, NmzResult val)
1047 {           
1048     enum nmz_searchmethod mode;
1049     char tmpkey[BUFSIZE] = "";
1050     
1051     strncpy(tmpkey, key, BUFSIZE - 1);
1052 
1053     nmz_debug_printf("before nmz_strlower: [%s]", tmpkey);
1054     nmz_strlower(tmpkey);
1055     nmz_debug_printf("after nmz_strlower:  [%s]", tmpkey);
1056 
1057     mode = detect_search_mode(tmpkey);
1058     if (mode == ERROR_MODE) {
1059         val.stat = ERR_FATAL;
1060         return val;
1061     }   
1062         
1063     if (mode == WORD_MODE || mode == PHRASE_MODE) {

nmz/wakati.c:

次のどこかで(不必要に) \t が入ってしまっている気がする。
122 int
123 nmz_wakati(char *key)
124 {
125     int i, j, key_leng, type;
126     char buf[BUFSIZE * 2] = "";
127 
128     nmz_debug_printf("wakati original: [%s].\n", key);

--debug の出力を比較して見る:

+namazu(debug): wakati original: [総会内容報告].
+namazu(debug): wakatied string: [総会  内容    報告]
いや、PHRASE search でもいいはずだ。見つかれば。

総会内容(×) 内容報告(○):

> namazu -l '総会内容' O
> namazu -l '内容報告' O
.. ../sample-test/august-meeting/1
PHRASE search がちょっと不正確っていうやつかな。だとすると やはり PHRASE search にならない方を追求すべきか。

#2 [Namazu] ~/.namazurc と Wanderlust

きょうは都合があって(先に書いたことを試していたので) ~/.namazurc を別の名前に退避していた。 ( emacs -q のように いつもの初期設定を無視する選択ってなかったよなぁ ?)
で、Wanderlust から検索してもどうもおかしい。 これに気が付くのに 30 分くらいかかってしまった気がする。 ~/.emacs にも、
(setq elmo-nmz-default-index-path  ...)
(setq elmo-nmz-index-alias-alist   ..)
等があって、そちらばかり気にしていたから。
しかも単に namazu -l +to:hoge index-dir とか入れると、 当然見つけてくれるので、Wanderlust の方の設定だとばかり思って..
しかし良く考えたら、 Index 行ではなくて Replace 行が必要だったということだと思う。



最近の日記
2024年05月05日
Windows 10 version
serial connection
bc bench
2024年05月04日
Trial on 10.99.10
another version (later trial) to succeed
2024年04月29日
dkim
2024年03月10日
停電 (瞬電)
2024年03月03日
the second try on bare-metal
useradd
以上、1 日分です。
タイトル一覧
カテゴリ分類
Powered by hns-2.19.9, HyperNikkiSystem Project

Count.cgi (since 2000/02/05)