1 /*------------------------------------------------------------------------------
2 * Copyright (C) 2003-2006 Ben van Klinken and the CLucene Team
3 *
4 * Distributable under the terms of either the Apache License (Version 2.0) or
5 * the GNU Lesser General Public License, as specified in the COPYING file.
6 ------------------------------------------------------------------------------*/
7 #ifndef _lucene_index_TermInfo
8 #define _lucene_index_TermInfo
9 
10 
CL_NS_DEF(index)11 CL_NS_DEF(index)
12 
13 // A TermInfo is the record of information stored for a term.
14 class TermInfo: LUCENE_BASE{
15 public:
16 	// The number of documents which contain the term.
17 	int32_t docFreq;
18 
19 	//A pointer into the TermFreqs file (.frq)
20 	//The .frq file contains the lists of documents which contain each term,
21 	//along with the frequency of the term in that document.
22 	int64_t freqPointer;
23 
24 	//A pointer into the TermPosition file (.prx).
25 	//The .prx file contains the lists of positions that each term
26 	//occurs at within documents.
27 	int64_t proxPointer;
28 
29   int32_t skipOffset;
30 
31     //Constructor
32 	TermInfo();
33 
34     //Constructor
35 	TermInfo(const int32_t df, const int64_t fp, const int64_t pp);
36 
37 	//Constructor
38 	//Initialises this instance by copying the values of another TermInfo ti
39 	TermInfo(const TermInfo* ti);
40 
41     //Destructor
42 	~TermInfo();
43 
44 	//Sets a new document frequency, a new freqPointer and a new proxPointer
45 	void set(const int32_t docFreq, const int64_t freqPointer, const int64_t proxPointer, int32_t skipOffset);
46 
47 	//Sets a new document frequency, a new freqPointer and a new proxPointer
48     //by copying these values from another instance of TermInfo
49 	void set(const TermInfo* ti);
50 };
51 CL_NS_END
52 #endif
53