Esempio n. 1
0
  /*
   * index all child directories(only first level directories) in parent directory
   * and indexed data is stored in the same name source directory
   */
  private long indexDirectories(String parent, String[] dirs, String index, SetupParameters Pa)
      throws FileHandlerException, IOException {
    long sumDocs = 0;
    // index each directory in parent directory

    for (int i = 0; i < dirs.length; i++) {
      System.out.println("\t-----FOLDER----- :" + dirs[i].toUpperCase());
      String dir_index = index + "/" + dirs[i];
      if ((index.endsWith("\\")) || (index.endsWith("/"))) {
        dir_index = index + dirs[i];
      }
      Directory di = FSDirectory.getDirectory(new File(dir_index), true);
      Pa.setDir(di);
      Pa.setWriter(new IndexWriter(Pa.getDir(), Pa.getAnalyzer(), true));

      //             //get name of directory contains website to index
      //            int begin=dirs[i].lastIndexOf("\\");
      //            if(begin==-1) begin=dirs[i].lastIndexOf("/");
      //            int end=dirs[i].length()-1;
      //            String dir_site=dirs[i].substring(begin, end);
      this.index(dirs[i].toLowerCase(), Pa.getWriter(), new File(parent + "\\" + dirs[i]));

      Pa.getWriter().optimize();
      Pa.getWriter().close();
      IndexReader reader = Pa.getReader().open(Pa.getDir());
      sumDocs += reader.numDocs();
      reader.close();
    }
    return sumDocs;
  }
Esempio n. 2
0
  /*
   * index specific directory-all file in one directory
   */
  private long indexDirectory(String directory, String index, SetupParameters Pa)
      throws FileHandlerException, IOException {
    long sumDocs = 0;
    Directory di = FSDirectory.getDirectory(new File(index), true);
    // RAMDirectory di = new RAMDirectory(new Directory());
    Pa.setDir(di);
    Pa.setWriter(new IndexWriter(Pa.getDir(), Pa.getAnalyzer(), true));

    // get name of directory contains website to index
    int begin = directory.lastIndexOf("\\");
    if (begin == -1) begin = directory.lastIndexOf("/");
    int end = directory.length();
    String dir_site = directory.substring(begin + 1, end).toLowerCase();
    index(dir_site, Pa.getWriter(), new File(directory));

    Pa.getWriter().optimize();
    Pa.getWriter().close();
    IndexReader reader = Pa.getReader().open(Pa.getDir());
    sumDocs += reader.numDocs();
    reader.close();
    return sumDocs;
  }