Exemplo n.º 1
0
 /** @see IndexReader#getFieldNames(boolean) */
 public Collection getFieldNames(boolean indexed) throws IOException {
   // maintain a unique set of field names
   Set fieldSet = new HashSet();
   for (int i = 0; i < fieldInfos.size(); i++) {
     FieldInfo fi = fieldInfos.fieldInfo(i);
     if (fi.isIndexed == indexed) fieldSet.add(fi.name);
   }
   return fieldSet;
 }
Exemplo n.º 2
0
 private final void openNorms(Directory cfsDir) throws IOException {
   for (int i = 0; i < fieldInfos.size(); i++) {
     FieldInfo fi = fieldInfos.fieldInfo(i);
     if (fi.isIndexed) {
       String fileName = segment + ".f" + fi.number;
       // look first for re-written file, then in compound format
       Directory d = directory().fileExists(fileName) ? directory() : cfsDir;
       norms.put(fi.name, new Norm(d.openFile(fileName), fi.number));
     }
   }
 }
Exemplo n.º 3
0
 /**
  * @param storedTermVector if true, returns only Indexed fields that have term vector info, else
  *     only indexed fields without term vector info
  * @return Collection of Strings indicating the names of the fields
  */
 public Collection getIndexedFieldNames(boolean storedTermVector) {
   // maintain a unique set of field names
   Set fieldSet = new HashSet();
   for (int i = 0; i < fieldInfos.size(); i++) {
     FieldInfo fi = fieldInfos.fieldInfo(i);
     if (fi.isIndexed == true && fi.storeTermVector == storedTermVector) {
       fieldSet.add(fi.name);
     }
   }
   return fieldSet;
 }
Exemplo n.º 4
0
  public TermVectorsWriter(Directory directory, String segment, FieldInfos fieldInfos)
      throws IOException {
    // Open files for TermVector storage
    tvx = directory.createOutput(segment + TVX_EXTENSION);
    tvx.writeInt(FORMAT_VERSION);
    tvd = directory.createOutput(segment + TVD_EXTENSION);
    tvd.writeInt(FORMAT_VERSION);
    tvf = directory.createOutput(segment + TVF_EXTENSION);
    tvf.writeInt(FORMAT_VERSION);

    this.fieldInfos = fieldInfos;
    fields = new Vector(fieldInfos.size());
    terms = new Vector();
  }
Exemplo n.º 5
0
  final Vector files() throws IOException {
    Vector files = new Vector(16);
    final String ext[] =
        new String[] {
          "cfs", "fnm", "fdx", "fdt", "tii", "tis", "frq", "prx", "del", "tvx", "tvd", "tvf", "tvp"
        };

    for (int i = 0; i < ext.length; i++) {
      String name = segment + "." + ext[i];
      if (directory().fileExists(name)) files.addElement(name);
    }

    for (int i = 0; i < fieldInfos.size(); i++) {
      FieldInfo fi = fieldInfos.fieldInfo(i);
      if (fi.isIndexed) files.addElement(segment + ".f" + i);
    }
    return files;
  }