Changeset 252 for Search-Namazu
- Timestamp:
- 04/03/06 16:39:08 (6 years ago)
- Location:
- Search-Namazu/trunk/Search-Namazu
- Files:
-
- 3 modified
Legend:
- Unmodified
- Added
- Removed
-
Search-Namazu/trunk/Search-Namazu/ChangeLog
r251 r252 1 2006-04-03 NOKUBI Takatsugu <knok@daionet.gr.jp> 2 3 * Namazu.xs: Added 5 methods in ResultXS: 4 score(), rank(), date(), docid(), idxid(). 5 1 6 2006-03-30 NOKUBI Takatsugu <knok@daionet.gr.jp> 2 7 -
Search-Namazu/trunk/Search-Namazu/Namazu.pm
r251 r252 45 45 46 46 foreach my $rxs (@$x) { 47 print ($rxs->get("uri"), $rxs-> get("score"), $rxs->get("from"));47 print ($rxs->get("uri"), $rxs->score, $rxs->get("from")); 48 48 } 49 49 … … 201 201 It has the following methods: 202 202 203 =head3 score 204 205 It returns score. 206 207 =head3 date 208 209 It returns date. 210 211 =head3 rank 212 213 It returns ranking number. 214 215 =head3 docid 216 217 It returns id of document. 218 219 =head3 idxid 220 221 It returns id of index. 222 203 223 =head3 get 204 224 205 It returns specified value of field. "score", "date" and "rank" is 206 set by default. 225 It returns specified value of field. 207 226 208 227 =head1 COPYRIGHT -
Search-Namazu/trunk/Search-Namazu/Namazu.xs
r249 r252 56 56 57 57 #define SEARCH_NAMAZU_FIELDS 5 58 #define SCORE " score"58 #define SCORE "//score" 59 59 #define SCORE_LEN strlen(SCORE) 60 #define DATE " date"60 #define DATE "//date" 61 61 #define DATE_LEN strlen(DATE) 62 #define RANK " rank"62 #define RANK "//rank" 63 63 #define RANK_LEN strlen(RANK) 64 #define DOCID "//docid" 65 #define DOCID_LEN strlen(DOCID) 66 #define IDXID "//idxid" 67 #define IDXID_LEN strlen(IDXID) 64 68 65 69 static int status = 0; … … 142 146 HV *hash; 143 147 SV *ref; 144 SV *score, *date, *rank ;148 SV *score, *date, *rank, *docid, *idxid; 145 149 int j; 146 150 char fcont[BUFSIZE]; … … 157 161 date = newSViv(hlist.data[i].date); 158 162 rank = newSViv(hlist.data[i].rank); 163 docid = newSViv(hlist.data[i].docid); 164 idxid = newSViv(hlist.data[i].idxid); 159 165 hv_store(hash, SCORE, SCORE_LEN, score, 0); 160 166 hv_store(hash, DATE, DATE_LEN, date, 0); 161 167 hv_store(hash, RANK, RANK_LEN, rank, 0); 168 hv_store(hash, DOCID, IDXID_LEN, docid, 0); 169 hv_store(hash, IDXID, IDXID_LEN, idxid, 0); 162 170 163 171 ref = newRV_inc((SV*) hash); … … 367 375 RETVAL 368 376 377 SV * 378 res_score(self) 379 SV *self 380 CODE: 381 HV *hash; 382 SV **ret; 383 384 hash = (HV *) SvRV(self); 385 ret = hv_fetch(hash, SCORE, SCORE_LEN, 0); 386 if (ret == NULL) { 387 RETVAL = &PL_sv_undef; 388 } else { 389 RETVAL = SvREFCNT_inc(*ret); 390 } 391 OUTPUT: 392 RETVAL 393 394 SV * 395 res_date(self) 396 SV *self 397 CODE: 398 HV *hash; 399 SV **ret; 400 401 hash = (HV *) SvRV(self); 402 ret = hv_fetch(hash, DATE, DATE_LEN, 0); 403 if (ret == NULL) { 404 RETVAL = &PL_sv_undef; 405 } else { 406 RETVAL = SvREFCNT_inc(*ret); 407 } 408 OUTPUT: 409 RETVAL 410 411 SV * 412 res_rank(self) 413 SV *self 414 CODE: 415 HV *hash; 416 SV **ret; 417 418 hash = (HV *) SvRV(self); 419 ret = hv_fetch(hash, RANK, RANK_LEN, 0); 420 if (ret == NULL) { 421 RETVAL = &PL_sv_undef; 422 } else { 423 RETVAL = SvREFCNT_inc(*ret); 424 } 425 OUTPUT: 426 RETVAL 427 428 SV * 429 res_docid(self) 430 SV *self 431 CODE: 432 HV *hash; 433 SV **ret; 434 435 hash = (HV *) SvRV(self); 436 ret = hv_fetch(hash, DOCID, DOCID_LEN, 0); 437 if (ret == NULL) { 438 RETVAL = &PL_sv_undef; 439 } else { 440 RETVAL = SvREFCNT_inc(*ret); 441 } 442 OUTPUT: 443 RETVAL 444 445 SV * 446 res_idxid(self) 447 SV *self 448 CODE: 449 HV *hash; 450 SV **ret; 451 452 hash = (HV *) SvRV(self); 453 ret = hv_fetch(hash, IDXID, IDXID_LEN, 0); 454 if (ret == NULL) { 455 RETVAL = &PL_sv_undef; 456 } else { 457 RETVAL = SvREFCNT_inc(*ret); 458 } 459 OUTPUT: 460 RETVAL
