Looking at your email again. You are confusing the initial writing of postings with the segment merging.
Once the doc number is written, the .frq file is not changed. The segment merge process will write to a new .frq file. Make sense? Jian On 5/8/06, jian chen <[EMAIL PROTECTED]> wrote:
It is in DocumentWriter.java class. Look at writePostings(...) method. Here are the lines: // add an entry to the freq file int f = posting.freq; if (f == 1) // optimize freq=1 freq.writeVInt(1); // set low bit of doc num. else { freq.writeVInt(0); // the document number freq.writeVInt(f); // frequency in doc } Any other question? Jian On 5/6/06, Charlie <[EMAIL PROTECTED]> wrote: > > Hello, > > Would any developer please give me a hint of when the document number > was > initially written into .frq file? > > From: //it is not really write the doc# in writePostings() > > final class DocumentWriter > private final void writePostings(Posting[] postings, String segment) > int postingFreq = posting.freq; > if (postingFreq == 1) // optimize > freq=1 > freq.writeVInt(1); // set low bit of doc > num. > else { > freq.writeVInt(0); // the document number > freq.writeVInt(postingFreq); // frequency > in doc > } > > //it is write the doc# in appendPostings() > > final class SegmentMerger > private final int appendPostings(SegmentMergeInfo[] smis, int n) > > int docCode = (doc - lastDoc) << 1; // use low bit to flag > freq=1 > lastDoc = doc; > > int freq = postings.freq(); > if (freq == 1) { > freqOutput.writeVInt(docCode | 1); // write doc & freq=1 > } else { > freqOutput.writeVInt(docCode); // write doc > freqOutput.writeVInt(freq); // write frequency in > doc > } > > //but then I am further confused that in order to call > int doc = postings.doc(); in appendPostings(), > the doc# should already been written. > > Chicken-egg-chicken-egg ... > > Should there be another place for the initial writing of the doc# ? > > -- > Thanks for your advice, > Charlie > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > >