private void init()

in geoentitylinker-addon/src/main/java/opennlp/addons/geoentitylinker/GazetteerSearcher.java [197:235]


  private void init() throws IOException {

    if (opennlpIndex == null) {
      String indexloc = properties.getProperty("opennlp.geoentitylinker.gaz", "");
      if (indexloc.isEmpty()) {
        LOG.error("Opennlp combined Gaz directory location not found!");
      }

      opennlpIndex = new MMapDirectory(Paths.get(indexloc));
      // = DirectoryReader.open(geonamesIndex);
      IndexReader opennlpReader = DirectoryReader.open(opennlpIndex);
      opennlpSearcher = new IndexSearcher(opennlpReader);
      opennlpAnalyzer
          = //new StandardAnalyzer(Version.LUCENE_48, new CharArraySet(Version.LUCENE_48, new ArrayList(), true));
          new StandardAnalyzer(new CharArraySet(new ArrayList<>(), true));
      Map<String, Analyzer> analyMap = new HashMap<>();

      analyMap.put("countrycode", new KeywordAnalyzer());
      analyMap.put("admincode", new KeywordAnalyzer());
      analyMap.put("loctype", new KeywordAnalyzer());
      analyMap.put("countycode", new KeywordAnalyzer());
      analyMap.put("gazsource", new KeywordAnalyzer());

      opennlpAnalyzer
          = new PerFieldAnalyzerWrapper(opennlpAnalyzer, analyMap);

      String cutoff = properties.getProperty("opennlp.geoentitylinker.gaz.lucenescore.min", String.valueOf(scoreCutoff));
      String usehierarchy = properties.getProperty("opennlp.geoentitylinker.gaz.hierarchyfield", "0");
      if (cutoff != null && !cutoff.isEmpty()) {
        scoreCutoff = Double.parseDouble(cutoff);
      }
      if (usehierarchy != null && !usehierarchy.isEmpty()) {
        useHierarchyField = Boolean.parseBoolean(usehierarchy);
      }
      //  opennlp.geoentitylinker.gaz.doublequote=false
      //opennlp.geoentitylinker.gaz.hierarchyfield=false

    }
  }