ddc
|
#include <ConcCommon.h>
Public Member Functions | |
void | clear () |
HitSortOrderEnum | SortOrder () const |
returns integer sort order as a HitSortOrderEnum (-1:descending, 0:none, 1:ascending, 2:count_keys, 3:count_values) More... | |
bool | IsFileFilter () const |
returns true iff this is a file-based filter (for optimized count(*) queries) More... | |
bool | IsTrivialFilter (void) const |
returns true iff this is a trivial-sort filter (i.e. does not change original hit-sort order) More... | |
bool | IsPruneFilter (void) const |
returns true iff this is a pruning filter More... | |
CDDCFilterWithBounds () | |
Public Attributes | |
HitSortEnum | m_FilterType |
the type of the filter More... | |
string | m_AttrName |
bool | m_bSet |
bool | m_bNegated |
true iff this is a negated filter More... | |
int | m_ContextMatchId |
match-id of reference token for context-sort operators (default=0:any) More... | |
int | m_ContextOffset |
offset from matched token for context-sort operators More... | |
CHitSortKey | m_KeyLo |
the lower bound of the filter (by default (INT_MIN,"")), valid only if m_bSet==false; formerly int m_LevelStart More... | |
CHitSortKey | m_KeyHi |
the upper bound of the filter (by default (INT_MAX,"")), valid only if m_bSet==false; formerly int m_LevelEnd More... | |
set< int > | m_SatisfiedValues |
the possible (integer) values for this bibliographical field, valid only if m_bSet==true More... | |
const CFreeBiblIndexInterface * | m_BiblIndex |
pointer to the CConcXml::CFreeBiblIndex responsible for populating this filter (only after compile) More... | |
class CQFilter * | m_Parent |
pointer to parent CQFilter (if any) More... | |
This structure describes a filter which can be applied to the result hit set. For example, for filter operator "#less_by_size[5,10]" the slots would have the following values:
|
inline |
|
inline |
Referenced by CStringIndexSet::GetContextBounds(), CBiblIndex::GetFilterBounds(), CBiblIndex::GetFilterValue(), and CBiblIndex::GetFilterValues().
|
inline |
returns integer sort order as a HitSortOrderEnum (-1:descending, 0:none, 1:ascending, 2:count_keys, 3:count_values)
References GreaterByCountKey, GreaterByCountValue, GreaterByDate, GreaterByFreeBiblField, GreaterByLeftContext, GreaterByMiddleContext, GreaterByPruneKey, GreaterByRank, GreaterByRightContext, GreaterBySize, hsoAscending, hsoDescending, hsoNone, and NoSort.
Referenced by CConcSession::GetAllHits(), CConcSession::InitSortKeyForHits(), and CQFPrune::PruneHitsIndex().
|
inline |
returns true iff this is a file-based filter (for optimized count(*) queries)
References GreaterByDate, GreaterByFreeBiblField, GreaterByLeftContext, GreaterByMiddleContext, GreaterByPruneKey, GreaterByRank, GreaterByRightContext, GreaterBySize, LessByDate, LessByFreeBiblField, LessByLeftContext, LessByMiddleContext, LessByPruneKey, LessByRank, LessByRightContext, LessBySize, NoSort, and RandomSort.
|
inline |
returns true iff this is a trivial-sort filter (i.e. does not change original hit-sort order)
References NoSort.
|
inline |
returns true iff this is a pruning filter
References IsPruneFilterType().
Referenced by CConcSession::GetAllHits().
HitSortEnum CDDCFilterWithBounds::m_FilterType |
the type of the filter
Referenced by CQFPrune::Clone(), CQFSort::CQFSort(), CQFSort::FilterType(), CConcSession::GetAllHits(), CConcSession::HasRankOrderOperator(), CConcSession::InitSortByContext(), CConcSession::InitSortKeyForHits(), CQFSort::jsonType(), CConcSession::SortKeyLB(), CQFSort::toString(), CQFBiblSort::toString(), CQFContextSort::toString(), and CQFPrune::toString().
string CDDCFilterWithBounds::m_AttrName |
the name of the free bibliographical field for bibliographic filters (#asc[FIELD], #desc[FIELD], #has[FIELD]), or the name of a token field for context-sort filters (#left, #right, etc)
Referenced by CQFBiblSort::Compile(), CQFContextSort::Compile(), CQFHasField::Compile(), CQFSort::CQFSort(), CConcSession::GetAllHits(), CBiblIndex::GetFilterBounds(), CBiblIndex::GetFilterValue(), CBiblIndex::GetFilterValues(), CConcSession::InitSortByContext(), CConcSession::InitSortKeyForHits(), and CConcSession::SortKeyLB().
bool CDDCFilterWithBounds::m_bSet |
Referenced by CQFPrune::CQFPrune(), CQFSort::CQFSort(), CFreeBiblIndex::FileMatches(), CConcSession::GetAllHits(), CStringIndexSet::GetContextBounds(), CFreeBiblIndex::GetFilterBounds(), CFreeBiblStringIndex::GetFilterBounds(), CFreeBiblIndex::GetFilterValue(), CFreeBiblStringIndex::GetFilterValue(), and CFreeBiblStringIndex::GetFilterValues().
bool CDDCFilterWithBounds::m_bNegated |
true iff this is a negated filter
Referenced by CQFHasFieldValue::Compile(), CQFHasFieldRegex::Compile(), CQFHasFieldSet::Compile(), CFreeBiblStringIndex::GetFilterValue(), and CFreeBiblStringIndex::GetFilterValues().
int CDDCFilterWithBounds::m_ContextMatchId |
match-id of reference token for context-sort operators (default=0:any)
Referenced by CQFContextSort::CQFContextSort(), CConcSession::InitSortByContext(), CQFContextSort::jsonData(), and CQFContextSort::toString().
int CDDCFilterWithBounds::m_ContextOffset |
offset from matched token for context-sort operators
Referenced by CQFContextSort::CQFContextSort(), CConcSession::InitSortByContext(), CQFContextSort::jsonData(), and CQFContextSort::toString().
CHitSortKey CDDCFilterWithBounds::m_KeyLo |
the lower bound of the filter (by default (INT_MIN,"")), valid only if m_bSet==false; formerly int m_LevelStart
Referenced by CQFDateSort::Compile(), CQFSizeSort::Compile(), CQFPrune::CQFPrune(), CQFSort::CQFSort(), CFreeBiblIndex::FileMatches(), CConcSession::GetAllHits(), CStringIndexSet::GetContextBounds(), CFreeBiblIndex::GetFilterBounds(), CFreeBiblStringIndex::GetFilterBounds(), CFreeBiblIndex::GetFilterValue(), CFreeBiblStringIndex::GetFilterValue(), CFreeBiblStringIndex::GetFilterValues(), and CQFSort::SortBounds().
CHitSortKey CDDCFilterWithBounds::m_KeyHi |
the upper bound of the filter (by default (INT_MAX,"")), valid only if m_bSet==false; formerly int m_LevelEnd
Referenced by CQFDateSort::Compile(), CQFSizeSort::Compile(), CQFPrune::CQFPrune(), CQFSort::CQFSort(), CFreeBiblIndex::FileMatches(), CConcSession::GetAllHits(), CStringIndexSet::GetContextBounds(), CFreeBiblIndex::GetFilterBounds(), CFreeBiblStringIndex::GetFilterBounds(), CFreeBiblIndex::GetFilterValue(), CFreeBiblStringIndex::GetFilterValue(), CFreeBiblStringIndex::GetFilterValues(), and CQFSort::SortBounds().
set<int> CDDCFilterWithBounds::m_SatisfiedValues |
the possible (integer) values for this bibliographical field, valid only if m_bSet==true
Referenced by CQFHasFieldRegex::CheckSatisfiable(), CQFHasFieldSet::CheckSatisfiable(), CFreeBiblIndex::FileMatches(), CConcSession::GetAllHits(), CFreeBiblStringIndex::GetFilterValue(), and CFreeBiblStringIndex::GetFilterValues().
const CFreeBiblIndexInterface* CDDCFilterWithBounds::m_BiblIndex |
pointer to the CConcXml::CFreeBiblIndex responsible for populating this filter (only after compile)
Referenced by CFreeBiblIndex::GetFilterBounds(), CFreeBiblStringIndex::GetFilterBounds(), CFreeBiblIndex::GetFilterValue(), CFreeBiblStringIndex::GetFilterValue(), CFreeBiblStringIndex::GetFilterValues(), and CConcSession::SortKeyLB().
class CQFilter* CDDCFilterWithBounds::m_Parent |
pointer to parent CQFilter (if any)
Referenced by CQFPrune::Clone(), CQFSort::Compile(), and CConcSession::InitSortKeyForHits().