/** Commits index and notifies listeners of index update */
 private void commit() {
   if (initialized) {
     logger.log(Level.INFO, "Commiting index");
     ingester.commit();
     logger.log(Level.INFO, "Index comitted");
     // signal a potential change in number of indexed files
     indexChangeNotify();
   }
 }
    private void indexFile(AbstractFile aFile) {
      // logger.log(Level.INFO, "Processing AbstractFile: " + abstractFile.getName());
      boolean ingestibleFile = Ingester.isIngestible(aFile);

      final long size = aFile.getSize();
      // limit size of entire file, do not limit strings
      if (size == 0 || (ingestibleFile && size > MAX_INDEX_SIZE)) {
        ingestStatus.put(aFile.getId(), IngestStatus.SKIPPED);
        return;
      }

      if (ingestibleFile == true) {
        // we know it's an allocated file or dir (FsContent)
        FsContent fileDir = (FsContent) aFile;
        try {
          // logger.log(Level.INFO, "indexing: " + fsContent.getName());
          ingester.ingest(fileDir);
          ingestStatus.put(fileDir.getId(), IngestStatus.INGESTED);
        } catch (IngesterException e) {
          ingestStatus.put(fileDir.getId(), IngestStatus.SKIPPED);
          // try to extract strings if not a dir
          if (fileDir.isFile() == true) {
            processNonIngestible(fileDir);
          }

        } catch (Exception e) {
          ingestStatus.put(fileDir.getId(), IngestStatus.SKIPPED);
          // try to extract strings if not a dir
          if (fileDir.isFile() == true) {
            processNonIngestible(fileDir);
          }
        }
      } else {
        // unallocated or unsupported type by Solr
        processNonIngestible(aFile);
      }
    }