FileDocCategorySizeDatePackage
SegmentTermVector.javaAPI DocApache Lucene 1.4.31705Sat Jul 10 08:19:02 BST 2004org.apache.lucene.index

SegmentTermVector

public class SegmentTermVector extends Object implements TermFreqVector

Fields Summary
private String
field
private String[]
terms
private int[]
termFreqs
Constructors Summary
SegmentTermVector(String field, String[] terms, int[] termFreqs)

    this.field = field;
    this.terms = terms;
    this.termFreqs = termFreqs;
  
Methods Summary
public java.lang.StringgetField()

return
The number of the field this vector is associated with

    return field;
  
public int[]getTermFrequencies()

    return termFreqs;
  
public java.lang.String[]getTerms()

    return terms;
  
public intindexOf(java.lang.String termText)

    int res = Arrays.binarySearch(terms, termText);
    return res >= 0 ? res : -1;
  
public int[]indexesOf(java.lang.String[] termNumbers, int start, int len)

    // TODO: there must be a more efficient way of doing this.
    //       At least, we could advance the lower bound of the terms array
    //       as we find valid indexes. Also, it might be possible to leverage
    //       this even more by starting in the middle of the termNumbers array
    //       and thus dividing the terms array maybe in half with each found index.
    int res[] = new int[len];

    for (int i=0; i < len; i++) {
      res[i] = indexOf(termNumbers[i]);
    }
    return res;
  
public intsize()

    return terms == null ? 0 : terms.length;
  
public java.lang.StringtoString()

    StringBuffer sb = new StringBuffer();
    sb.append('{");
    sb.append(field).append(": ");
    for (int i=0; i<terms.length; i++) {
      if (i>0) sb.append(", ");
      sb.append(terms[i]).append('/").append(termFreqs[i]);
    }
    sb.append('}");
    return sb.toString();