FileDocCategorySizeDatePackage
SegmentTermVector.javaAPI DocApache Lucene 2.1.02598Wed Feb 14 10:46:40 GMT 2007org.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)

    if(terms == null)
      return -1;
    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[start+ 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(": ");
    if(terms != null){
      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();