namazu-ml(ring)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Addtional score.
まえだです。
わたし>
> 一応、そのパッチをつけておきます。1.3.0.6用です。大したこと
> はやってなくって、NMZ.as があれば、それをスコアとして加算す
> るというだけです。
今 home.jp.freebsd.org に入れようと思って、見なおしてみたら、
古いものを送った上に、更に余分なパッチまでついているようで…。
大変申し訳ないです。
もう一度送り直します。いないとは思いますが、当ててしまった人
がおられたらごめんなさい。
*** namazu.h.orig Mon Mar 15 17:44:53 1999
--- namazu.h Thu May 13 19:23:41 1999
***************
*** 102,108 ****
extern uchar DEFAULT_DIR[];
extern uchar *DbNames[];
extern uchar Lang[];
! extern FILE *Flist, *FlistIndex, *Index, *IndexIndex, *Hash;
extern uchar BASE_URL[];
extern uchar URL_REPLACE_FROM[];
--- 102,108 ----
extern uchar DEFAULT_DIR[];
extern uchar *DbNames[];
extern uchar Lang[];
! extern FILE *Flist, *FlistIndex, *Index, *IndexIndex, *Hash, *AdditionalScore;
extern uchar BASE_URL[];
extern uchar URL_REPLACE_FROM[];
***************
*** 130,135 ****
--- 130,136 ----
extern uchar WORDLIST[];
extern uchar FIELDINFO[];
extern uchar DATEINDEX[];
+ extern uchar ASCORE[];
extern uchar PHRASE[];
extern uchar PHRASEINDEX[];
*** search.c.orig Mon Mar 15 17:44:53 1999
--- search.c Thu May 13 19:40:09 1999
***************
*** 701,706 ****
--- 701,707 ----
if (Hash == NULL) {
return 1;
}
+ AdditionalScore = fopen(ASCORE, "rb");
return 0;
}
***************
*** 710,715 ****
--- 711,718 ----
fclose(Index);
fclose(IndexIndex);
fclose(Hash);
+ if (AdditionalScore != NULL)
+ fclose(AdditionalScore);
}
***************
*** 859,864 ****
--- 862,879 ----
initialize_parser();
hlist = expr();
+ if(AdditionalScore != NULL) {
+ int as, i;
+ for(i = 0; i < hlist.n; i++) {
+ if(fseek(AdditionalScore, hlist.fid[i] * sizeof(int), 0) != -1 &&
+ freadx(&as, sizeof(int), 1, AdditionalScore) != 1) {
+ hlist.scr[i] += as;
+ if (hlist.scr[i] < 1)
+ hlist.scr[i] = 1;
+ }
+ }
+ }
+
if (hlist.n) /* if hit */
set_did_hlist(hlist, n);
if (!HitCountOnly && !MoreShortFormat && !NoReference) {
***************
*** 894,899 ****
--- 909,915 ----
pathcat(base, SLOG);
pathcat(base, FIELDINFO);
pathcat(base, DATEINDEX);
+ pathcat(base, ASCORE);
}
*** values.c.orig Mon Mar 15 17:44:53 1999
--- values.c Thu May 13 19:24:11 1999
***************
*** 68,73 ****
--- 68,74 ----
uchar WORDLIST[BUFSIZE] = "NMZ.w";
uchar FIELDINFO[BUFSIZE] = "NMZ.field."; /* followed by field name */
uchar DATEINDEX[BUFSIZE] = "NMZ.t";
+ uchar ASCORE[BUFSIZE] = "NMZ.as";
uchar PHRASE[BUFSIZE] = "NMZ.p";
uchar PHRASEINDEX[BUFSIZE] = "NMZ.pi";
***************
*** 107,111 ****
uchar KeyTable[BUFSIZE]; /* table which saving query */
uchar *KeyItem[KEY_ITEM_MAX + 1]; /* pointers of items of query */
uchar *DbNames[DB_MAX + 1]; /* name of databases */
! FILE *Flist, *FlistIndex, *Index, *IndexIndex, *Hash, *Phrase, *PhraseIndex;
--- 108,112 ----
uchar KeyTable[BUFSIZE]; /* table which saving query */
uchar *KeyItem[KEY_ITEM_MAX + 1]; /* pointers of items of query */
uchar *DbNames[DB_MAX + 1]; /* name of databases */
! FILE *Flist, *FlistIndex, *Index, *IndexIndex, *Hash, *Phrase, *PhraseIndex, *AdditionalScore;