parcel KinoSearch cnick Kino;
/** Match but not score documents.
*
* Use MatchPosting for fields which only need to be matched, not scored. For
* instance, if you need to determine that that a query matches a particular
* category, but don't want the match to contribute to the document score, use
* MatchPosting for the field.
*/
class KinoSearch::Index::Posting::MatchPosting cnick MatchPost
inherits KinoSearch::Index::Posting {
Similarity *sim;
uint32_t freq;
inert incremented MatchPosting*
new(Similarity *similarity);
inert MatchPosting*
init(MatchPosting *self, Similarity *similarity);
public void
Destroy(MatchPosting *self);
int32_t
Get_Freq(MatchPosting *self);
void
Read_Record(MatchPosting *self, InStream *instream);
incremented RawPosting*
Read_Raw(MatchPosting *self, InStream *instream, int32_t last_doc_id,
CharBuf *term_text, MemoryPool *mem_pool);
void
Add_Inversion_To_Pool(MatchPosting *self, PostingPool *post_pool,
Inversion *inversion, FieldType *type,
int32_t doc_id, float doc_boost,
float length_norm);
public void
Reset(MatchPosting *self);
incremented MatchPostingScorer*
Make_Matcher(MatchPosting *self, Similarity *sim, PostingList *plist,
Compiler *compiler, bool_t need_score);
}
class KinoSearch::Index::Posting::MatchPostingScorer cnick MatchPostScorer
inherits KinoSearch::Search::TermScorer {
inert MatchPostingScorer*
init(MatchPostingScorer *self, Similarity *similarity,
PostingList *posting_list, Compiler *compiler);
public float
Score(MatchPostingScorer *self);
}
class KinoSearch::Index::Posting::MatchPostingWriter cnick MatchPostWriter
inherits KinoSearch::Index::Posting::PostingWriter {
OutStream *outstream;
int32_t last_doc_id;
inert incremented MatchPostingWriter*
new(Schema *schema, Snapshot *snapshot, Segment *segment,
PolyReader *polyreader, int32_t field_num);
inert MatchPostingWriter*
init(MatchPostingWriter *self, Schema *schema, Snapshot *snapshot,
Segment *segment, PolyReader *polyreader, int32_t field_num);
public void
Destroy(MatchPostingWriter *self);
void
Write_Posting(MatchPostingWriter *self, RawPosting *posting);
void
Start_Term(MatchPostingWriter *self, TermInfo *tinfo);
void
Update_Skip_Info(MatchPostingWriter *self, TermInfo *tinfo);
}
class KinoSearch::Index::Posting::MatchPosting::MatchTermInfoStepper
cnick MatchTInfoStepper inherits KinoSearch::Index::TermStepper {
int32_t skip_interval;
inert incremented MatchTermInfoStepper*
new(Schema *schema);
inert MatchTermInfoStepper*
init(MatchTermInfoStepper *self, Schema *schema);
public void
Reset(MatchTermInfoStepper *self);
public void
Write_Key_Frame(MatchTermInfoStepper *self, OutStream *outstream,
Obj *value);
public void
Write_Delta(MatchTermInfoStepper *self, OutStream *outstream, Obj *value);
public void
Read_Key_Frame(MatchTermInfoStepper *self, InStream *instream);
public void
Read_Delta(MatchTermInfoStepper *self, InStream *instream);
}
/* Copyright 2007-2011 Marvin Humphrey
*
* This program is free software; you can redistribute it and/or modify
* under the same terms as Perl itself.
*/