#ifndef _SECTIONS_H_ #define _SECTIONS_H_ #include "HashTableX.h" #include "Msg0.h" #include "IndexList.h" #include "Dates.h" // datetype_t #include "Words.h" #include "Rdb.h" //#include "DiskPageCache.h" // KEY: // ssssssss ssssssss ssssssss ssssssss s = 48 bit site hash // ssssssss ssssssss hhhhhhhh hhhhhhhh h = hash value (32 bits of the 64 bits!) // hhhhhhhh hhhhhhhh tttttttt dddddddd t = tag type // dddddddd dddddddd dddddddd ddddddHD d = docid // DATA: // SSSSSSSS SSSSSSSS SSSSSSSS SSSSSSSS S = SectionVote::m_score // NNNNNNNN NNNNNNNN NNNNNNNN NNNNNNNN N = SectionVote::m_numSampled // h: hash value. typically the lower 32 bits of the // Section::m_sentenceContentHash64 or the Section::m_contentHash64 vars. we // do not need the full 64 bits because we have the 48 bit site hash included // to reduce collisions substantially. // // BEGIN SECTION BIT FLAGS (sec_t) // values for Section::m_flags, of type sec_t // // . these are descriptive flags, they are computed when Sections is set // . SEC_NOTEXT sections do not vote, i.e. they are not stored in Sectiondb #define SEC_NOTEXT 0x0001 // implies section has no alnum words //#define SEC_ARTICLE 0x0002 // section is SV_UNIQUE and SV_TEXTY //#define SEC_DUP 0x0004 // content hash repeated on same site // . Weights.cpp zeroes out the weights for these types of sections // . is section delimeted by the