Namazu-devel-ja(旧)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: 検索の and 条件?
竹迫です。
"Hideyuki SHIRAI (白井秀行)" <shirai@xxxxxxxxxxxxxxxxxxx> wrote:
> 藤原さんの日記や semi-gnus ML のメールを読んで実験していたのです
> が、ふにおちない挙動を発見したので報告します。
ご報告どうもありがとうございます。
> この時、(1) では、
>
> 参考ヒット数: [ +uri:/home/shirai/Mail/ml/freebsd: 0 ] [ thread: 457 ]
>
> なので、Mew-dist が表示されるのはおかしいし、(2) では
>
> 参考ヒット数: [ nantarakantara: 0 ] [ namazu: 2536 ]
>
> なので、何も表示されないのが、ぼくの期待している動作なのですが、
> ぼくの認識が間違っているのでしょうか。
こちらでも試した結果、確かに同じような現象が確認されました。
(1) namazu-2.0.7pre1 での検索結果
参考ヒット数:
Central: [ hp: 1598 ] [ compaq: 92 ] [ gateway2000: 0 ] [ 合計: 81 ]
NOTES: [ hp: 475 ] [ compaq: 27 ] [ gateway2000: 0 ] [ 合計: 27 ]
H-SVR: [ hp: 1060 ] [ compaq: 166 ] [ gateway2000: 2 ] [ 合計: 2 ]
検索式にマッチする 110 個の文書が見つかりました。
どうやら、参考ヒット数に 0 が含まれる場合の処理が、期待通りでないようです。
> もし、バグなら、
> X-Mail-Count: 01287
> からはじまる thread でエンバグしたのだと思われます。
見てみました。仰るとおり、このタイミングから namazu の and 検索の
挙動が変わっているようでした。
早速、nmz/hlist.c に以下の修正を加えたところ、
--- hlist.c.orig Sun Sep 2 16:13:37 2001
+++ hlist.c Fri Sep 7 11:22:41 2001
@@ -256,12 +249,12 @@
}
if (left.stat != SUCCESS || left.num <= 0) {
- nmz_free_hlist(left);
- return right;
- }
- if (right.stat != SUCCESS || right.num <= 0) {
nmz_free_hlist(right);
return left;
+ }
+ if (right.stat != SUCCESS || right.num <= 0) {
+ nmz_free_hlist(left);
+ return right;
}
for (v = 0, i = 0, j = 0; i < left.num; i++) {
下記のような検索結果となり、
and 条件の検索としては期待通りの結果となりました。
(2) namazu-2.0.7pre1 に上記パッチをあてた場合の検索結果
参考ヒット数:
Central: [ hp: 1598 ] [ compaq: 92 ] [ gateway2000: 0 ] [ 合計: 0 ]
NOTES: [ hp: 475 ] [ compaq: 27 ] [ gateway2000: 0 ] [ 合計: 0 ]
H-SVR: [ hp: 1060 ] [ compaq: 166 ] [ gateway2000: 2 ] [ 合計: 2 ]
検索式にマッチする 2 個の文書が見つかりました。
ただし、ここで検討すべき内容ですが、
(2) の挙動は and 条件での検索としては論理的に正しい結果である。
しかし (1) では、and 条件で検索した場合、検索結果が 0 の項目は
除外され、できるだけ多くの検索結果を表示しようと努力する。
検索結果が 0 の項目を除外して、ユーザが再検索する必要がないので、
ユーザビリティの観点からは望ましい挙動ともいえる。
という点です。
ご指摘のとおり、(1) の動作では違和感を感じられる方がいるという
点でも問題があると思います。
個人的には、混乱を避けるためにも、従来の Namazu の挙動に戻す
(2) のパッチをあてた方がよいのかな?と思っています。
よろしければ、みなさんのご意見をお聞かせください。
--
広島市立大学 情報科学部 情報機械システム工学科 知能ロボット講座
竹迫 良範 <takesako@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>