|
| CQueryAndOperation () |
|
virtual | ~CQueryAndOperation () |
|
void | Evaluate (bool bSeparateHits=false) |
|
| CQueryBinaryOperationNode () |
|
| CQueryBinaryOperationNode (CQueryNode *dtr1, CQueryNode *dtr2) |
|
void | Create (const CConcHolder *pHolder, CQueryNode *child1, CQueryNode *child2, string Operation) |
|
virtual | ~CQueryBinaryOperationNode () |
|
void | pushHit (DWORD BreakNo) |
|
void | hits_and_positions_assign (const CQueryNode &NodeFrom) |
|
void | hits_and_positions_swap (CQueryNode &NodeFrom) |
| hijack hit occurrences and positions from another node More...
|
|
void | hits_and_positions_union (bool bSeparateHits=false) |
|
void | hits_and_positions_intersection (bool bSeparateHits=false) |
|
void | hits_and_positions_difference (bool bSeparateHits=false) |
|
size_t | GetNodeFrequencyByNodeIndex (size_t NodeIndex) const |
| get occurrence count by query-node index; used by rank-sort operator. More...
|
|
| CQueryNode (bool bUseNodeIndices=false, bool bUseMatchIds=false, const CConcHolder *holder=NULL) |
| Constructor. More...
|
|
virtual | ~CQueryNode () |
| Destructor. More...
|
|
virtual void | EvaluateWithoutHits () |
| initial-stage query evaluation EvaluateWithoutHits is the first stage of the evaluation of one query. The main task it to build CQueryNode::m_Occurrences, which is written by chunks, sorted by the first item of a chunk. More...
|
|
void | SetNegation (bool Value) |
| set m_bNegated More...
|
|
bool | GetNegation () const |
| get m_bNegated More...
|
|
void | AddOccurrence (const CQueryNode &FromNode, int FromOcc) |
| insers a single occurrence FromNode.m_Occurrences[occ] More...
|
|
void | AddOccurrences (const CQueryNode &FromNode, int start, int end) |
| inserts occurrences [FromNode.m_Occurrences.begin()+start, FromNode.m_Occurrences.begin()+end) into m_Occurrences[] (and m_OccurrenceNodeIndices if appropriate) More...
|
|
void | AddOccurrences2 (const CQueryNode &FromNode1, int start1, int end1, const CQueryNode &FromNode2, int start2, int end2) |
| appends occurrences from both FromNode1 and FromNode2, maintaining sort-order and respecting both m_bUseNodeIndices and m_bUseMatchIds More...
|
|
void | AddOccurrences3 (const CQueryNode &FromNode1, int start1, int end1, const CQueryNode &FromNode2, int start2, int end2, const CQueryNode &FromNode3, int start3, int end3) |
| appends occurrences from FromNode1, FromNode2, and FromNode3 maintaining sort-order and respecting both m_bUseNodeIndices and m_bUseMatchIds More...
|
|
void | ClearAndReserveOccurrences (int size) |
|
void | SwapOccurrences (CQueryNode &Node, bool swapChunkLengths=false) |
| swaps m_Occurrences[], m_OccurrenceNodeIndices[], and m_OccurrenceMatchIds[] between caller object and Node More...
|
|
void | ConvertOccurrencesToHits (bool bSeparateHits) |
| convert occurrences to hits using m_pHolder->GetBreaks() More...
|
|
void | ConvertOccurrencesToHitsForPatterns (bool bSeparateHits) |
| convert occurrences to hits for pattern query construction (like "mother likes father") More...
|
|
void | EnsureChunkOffsets () |
| ensure m_ChunkOffsets[] is populated More...
|
|
void | SetHolder (const CConcHolder *pHolder) |
| set m_pHolder dependent properties m_bUseNodeIndices, m_bUseMatchIds More...
|
|
virtual bool | IsUniversalWildcard () const |
| return true iff this is a universal wildcard query (*); default returns false More...
|
|
DWORD | HitOccurrencesBegin (DWORD HitNo) const |
| get the index of the first occurrence in m_Occurrences[] for hit number HitNo More...
|
|
DWORD | HitOccurrencesEnd (DWORD HitNo) const |
| get the index of the first occurrence in m_Occurrences[] after hit number HitNo More...
|
|
DWORD | GetFirstOccurrenceInHit (DWORD HitNo, BYTE MatchId) const |
|
DWORD | GetLastOccurrenceInHit (DWORD HitNo, BYTE MatchId) const |
|
DWORD | GetMiddleOccurrenceInHit (DWORD HitNo, BYTE MatchId) const |
|
DWORD | BreakStride () const |
| get average size of gap between breaks in m_Hits[]; returned value is always >= 1 More...
|
|
CQueryAndOperation implements the hit intersection or "and" operator: for example, "Mother&&father".