コード例 #1
0
 /**
  * Loads an index if it is not already loaded.
  *
  * @param name - The name of the
  * @return
  * @throws IOException
  * @throws ConfigurationException
  */
 private IndexHelper loadIndex(String name) throws IOException, ConfigurationException {
   if (env.hasIndex(name)) {
     return env.getIndex(name);
   }
   info("loading index " + name);
   JSONObject indexConfig = configuration.getIndex(name);
   File parentDir = requireDirectory(configuration.getIndexes(), "outputDir");
   IndexHelper helper = new IndexHelper(new File(parentDir, name), true);
   if (indexConfig.containsKey("similarity")) {
     String sim = requireString(indexConfig, "similarity");
     if (sim.equals("ESA")) {
       helper.getSearcher().setSimilarity(new ESASimilarity.LuceneSimilarity());
     } else {
       throw new ConfigurationException("unknown similarity type: " + sim);
     }
   }
   if (indexConfig.containsKey("analyzer")) {
     String analyzer = requireString(indexConfig, "analyzer");
     if (analyzer.equals("ESA")) {
       helper.setAnalyzer(new ESAAnalyzer());
     } else {
       throw new ConfigurationException("unknown analyzer type: " + analyzer);
     }
   }
   env.addIndex(name, helper);
   return helper;
 }
コード例 #2
0
 /**
  * Loads indexes and puts them in the environment.
  *
  * @throws ConfigurationException
  * @throws IOException
  */
 public void loadIndexes() throws ConfigurationException, IOException {
   info("loading indexes");
   Collection<String> namesToSkip = Arrays.asList("inputDir", "outputDir");
   for (String name : (Set<String>) configuration.getIndexes().keySet()) {
     if (namesToSkip.contains(name)) {
       continue;
     }
     loadIndex(name);
   }
 }