Changeset 252 for Search-Namazu

Show
Ignore:
Timestamp:
04/03/06 16:39:08 (6 years ago)
Author:
knok
Message:

Added 5 methods in ResultXS.

Location:
Search-Namazu/trunk/Search-Namazu
Files:
3 modified

Legend:

Unmodified
Added
Removed
  • Search-Namazu/trunk/Search-Namazu/ChangeLog

    r251 r252  
     12006-04-03  NOKUBI Takatsugu  <knok@daionet.gr.jp> 
     2 
     3        * Namazu.xs: Added 5 methods in ResultXS: 
     4         score(), rank(), date(), docid(), idxid(). 
     5 
    162006-03-30  NOKUBI Takatsugu  <knok@daionet.gr.jp> 
    27 
  • Search-Namazu/trunk/Search-Namazu/Namazu.pm

    r251 r252  
    4545 
    4646  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")); 
    4848  } 
    4949 
     
    201201It has the following methods: 
    202202 
     203=head3 score 
     204 
     205It returns score. 
     206 
     207=head3 date 
     208 
     209It returns date. 
     210 
     211=head3 rank 
     212 
     213It returns ranking number. 
     214 
     215=head3 docid 
     216 
     217It returns id of document. 
     218 
     219=head3 idxid 
     220 
     221It returns id of index. 
     222 
    203223=head3 get 
    204224 
    205 It returns specified value of field. "score", "date" and "rank" is 
    206 set by default. 
     225It returns specified value of field. 
    207226 
    208227=head1 COPYRIGHT 
  • Search-Namazu/trunk/Search-Namazu/Namazu.xs

    r249 r252  
    5656 
    5757#define SEARCH_NAMAZU_FIELDS 5 
    58 #define SCORE "score" 
     58#define SCORE "//score" 
    5959#define SCORE_LEN strlen(SCORE) 
    60 #define DATE "date" 
     60#define DATE "//date" 
    6161#define DATE_LEN strlen(DATE) 
    62 #define RANK "rank" 
     62#define RANK "//rank" 
    6363#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) 
    6468 
    6569static int status = 0; 
     
    142146                        HV *hash; 
    143147                        SV *ref; 
    144                         SV *score, *date, *rank; 
     148                        SV *score, *date, *rank, *docid, *idxid; 
    145149                        int j; 
    146150                        char fcont[BUFSIZE]; 
     
    157161                        date = newSViv(hlist.data[i].date); 
    158162                        rank = newSViv(hlist.data[i].rank); 
     163                        docid = newSViv(hlist.data[i].docid); 
     164                        idxid = newSViv(hlist.data[i].idxid); 
    159165                        hv_store(hash, SCORE, SCORE_LEN, score, 0); 
    160166                        hv_store(hash, DATE, DATE_LEN, date, 0); 
    161167                        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); 
    162170 
    163171                        ref = newRV_inc((SV*) hash); 
     
    367375                RETVAL 
    368376 
     377SV * 
     378res_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 
     394SV * 
     395res_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 
     411SV * 
     412res_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 
     428SV * 
     429res_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 
     445SV * 
     446res_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