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
}
}