parcel KinoSearch cnick Kino;
/** Join results for two Queries, one required, one optional.
*
* RequiredOptionalQuery joins the result sets of one Query which MUST match,
* and one Query which SHOULD match. When only the required Query matches,
* its score is passed along; when both match, the scores are summed.
*/
class KinoSearch::Search::RequiredOptionalQuery cnick ReqOptQuery
inherits KinoSearch::Search::PolyQuery {
inert incremented RequiredOptionalQuery*
new(Query *required_query, Query *optional_query);
/**
* @param required_query Query must must match.
* @param optional_query Query which should match.
*/
public inert RequiredOptionalQuery*
init(RequiredOptionalQuery *self, Query *required_query,
Query *optional_query);
/** Getter for the required Query. */
public Query*
Get_Required_Query(RequiredOptionalQuery *self);
/** Setter for the required Query. */
public void
Set_Required_Query(RequiredOptionalQuery *self, Query *required_query);
/** Getter for the optional Query. */
public Query*
Get_Optional_Query(RequiredOptionalQuery *self);
/** Setter for the optional Query. */
public void
Set_Optional_Query(RequiredOptionalQuery *self, Query *optional_query);
public incremented Compiler*
Make_Compiler(RequiredOptionalQuery *self, Searcher *searcher,
float boost);
public incremented CharBuf*
To_String(RequiredOptionalQuery *self);
public bool_t
Equals(RequiredOptionalQuery *self, Obj *other);
}
class KinoSearch::Search::RequiredOptionalCompiler cnick ReqOptCompiler
inherits KinoSearch::Search::PolyCompiler {
inert incremented RequiredOptionalCompiler*
new(RequiredOptionalQuery *parent, Searcher *searcher, float boost);
inert RequiredOptionalCompiler*
init(RequiredOptionalCompiler *self, RequiredOptionalQuery *parent,
Searcher *searcher, float boost);
public incremented nullable Matcher*
Make_Matcher(RequiredOptionalCompiler *self, SegReader *reader,
bool_t need_score);
}
/* Copyright 2006-2011 Marvin Humphrey
*
* This program is free software; you can redistribute it and/or modify
* under the same terms as Perl itself.
*/