pike.git / src / modules / _WhiteFish / whitefish.c

version» Context lines:

pike.git/src/modules/_WhiteFish/whitefish.c:228:    int hit = 1;    Hit m = wf_blob_hit( blobs[0], i );    int h = m.raw;    if( (add = (*field_c)[ MOFF(m) ]) == 0.0 )    continue;       for( j = 1; j<nblobs; j++)    for( k = first[j]; k<nhits[j]; k++ )    {    int h2 = wf_blob_hit_raw( blobs[j], k ); -  if( h2 > h ) +  if( h2 >= h + j )    {    first[j]=k;    if( h2-j == h )    hit++;    break;    }    }       if( hit == nblobs )    accum += add/mc;
pike.git/src/modules/_WhiteFish/whitefish.c:380:    free_stuff( __f );    return res;   }      /*! @module Search    */      static void f_do_query_phrase( INT32 args )   /*! @decl ResultSet do_query_phrase( array(string) words, @    *! array(int) field_coefficients, @ -  *! function(int:string) blobfeeder) +  *! function(string,int,int:string) blobfeeder)    *! @param words    *!    *! Arrays of word ids. Note that the order is significant for the    *! ranking.    *!    *! @param field_coefficients    *!    *! An array of ranking coefficients for the different fields. In the    *! range of [0x0000-0xffff]. The array (always) has 65 elements:    *!    *! @array    *! @elem int 0    *! body    *! @elem int 1..64    *! Special field 0..63.    *! @endarray    *!    *! @param blobfeeder    *!    *! This function returns a Pike string containing the word hits for a -  *! certain word_id. Call repeatedly until it returns @expr{0@}. +  *! certain word. Call repeatedly until it returns @expr{0@}.    */   {    double proximity_coefficients[8];    double field_coefficients[65];    int numblobs, i;    Blob **blobs;       struct svalue *cb;    struct object *res;    struct array *_words, *_field;
pike.git/src/modules/_WhiteFish/whitefish.c:444:    for( i = 0; i<65; i++ )    field_coefficients[i] = (double)_field->item[i].u.integer;       res = low_do_query_phrase(blobs,numblobs, field_coefficients );    pop_n_elems( args );    wf_resultset_push( res );   }      static void f_do_query_and( INT32 args )   /*! @decl ResultSet do_query_and( array(string) words, @ -  *! array(int) field_coefficients, @ -  *! array(int) proximity_coefficients, @ -  *! function(int:string) blobfeeder) +  *! array(int) field_coefficients, @ +  *! array(int) proximity_coefficients, @ +  *! int cutoff, @ +  *! function(string,int,int:string) blobfeeder)    *! @param words    *!    *! Arrays of word ids. Note that the order is significant for the    *! ranking.    *!    *! @param field_coefficients    *!    *! An array of ranking coefficients for the different fields. In the    *! range of [0x0000-0xffff]. The array (always) has 65 elements:    *!
pike.git/src/modules/_WhiteFish/whitefish.c:492:    *! spread: 41-80    *! @elem int 6    *! spread: 81-160    *! @elem int 7    *! spread: 161-    *! @endarray    *!    *! @param blobfeeder    *!    *! This function returns a Pike string containing the word hits for a -  *! certain word_id. Call repeatedly until it returns @expr{0@}. +  *! certain word. Call repeatedly until it returns @expr{0@}.    */   {    double proximity_coefficients[8];    double field_coefficients[65];    int numblobs, i, cutoff;    Blob **blobs;       struct svalue *cb;    struct object *res;    struct array *_words, *_field, *_prox;
pike.git/src/modules/_WhiteFish/whitefish.c:546:    cutoff );       pop_n_elems( args );    wf_resultset_push( res );   }      static void f_do_query_or( INT32 args )   /*! @decl ResultSet do_query_or( array(string) words, @    *! array(int) field_coefficients, @    *! array(int) proximity_coefficients, @ -  *! function(int:string) blobfeeder) +  *! int cutoff, @ +  *! function(string,int,int:string) blobfeeder)    *! @param words    *!    *! Arrays of word ids. Note that the order is significant for the    *! ranking.    *!    *! @param field_coefficients    *!    *! An array of ranking coefficients for the different fields. In the    *! range of [0x0000-0xffff]. The array (always) has 65 elements:    *!
pike.git/src/modules/_WhiteFish/whitefish.c:592:    *! spread: 41-80    *! @elem int 6    *! spread: 81-160    *! @elem int 7    *! spread: 161-    *! @endarray    *!    *! @param blobfeeder    *!    *! This function returns a Pike string containing the word hits for a -  *! certain word_id. Call repeatedly until it returns @expr{0@}. +  *! certain word. Call repeatedly until it returns @expr{0@}.    */   {    double proximity_coefficients[8];    double field_coefficients[65];    int numblobs, i, cutoff;    Blob **blobs;       struct svalue *cb;    struct object *res;    struct array *_words, *_field, *_prox;
pike.git/src/modules/_WhiteFish/whitefish.c:654:      PIKE_MODULE_INIT   {    init_resultset_program();    init_blob_program();    init_blobs_program();    init_linkfarm_program();       add_function( "do_query_or", f_do_query_or,    "function(array(string),array(int),array(int),int" -  ",function(string,int:string):object)", +  ",function(string,int,int:string):object)",    0 );       add_function( "do_query_and", f_do_query_and,    "function(array(string),array(int),array(int),int" -  ",function(string,int:string):object)", +  ",function(string,int,int:string):object)",    0 );       add_function( "do_query_phrase", f_do_query_phrase,    "function(array(string),array(int)" -  ",function(string,int:string):object)", +  ",function(string,int,int:string):object)",    0 );   }      PIKE_MODULE_EXIT   {    exit_resultset_program();    exit_blob_program();    exit_blobs_program();    exit_linkfarm_program();   }