public LuceneSynonymsRewriterFactory(boolean expand, final boolean ignoreCase) throws IOException { Analyzer analyzer = new Analyzer() { @Override protected TokenStreamComponents createComponents(String fieldName) { Tokenizer tokenizer = new KeywordTokenizer(); TokenStream stream = tokenizer; if (ignoreCase) { stream = new LowerCaseFilter(stream); } return new TokenStreamComponents(tokenizer, stream); } }; parser = new SolrSynonymParser(true, expand, analyzer); }
@Override public void run() { try { File synonymFile = new File(synonymFileURL.toURI()); if(synonymFile.exists() && lastModified < synonymFile.lastModified()) { Reader rulesReader = new InputStreamReader(synonymFileURL.openStream(), Charsets.UTF_8); SynonymMap.Builder parser = null; if ("wordnet".equalsIgnoreCase(format)) { parser = new WordnetSynonymParser(true, expand, analyzer); ((WordnetSynonymParser) parser).parse(rulesReader); } else { parser = new SolrSynonymParser(true, expand, analyzer); ((SolrSynonymParser) parser).parse(rulesReader); } synonymMap = parser.build(); lastModified = synonymFile.lastModified(); } } catch (Exception e) { throw new RuntimeException("could not reload synonyms file: " + e.getMessage()); } } }
private static SynonymMap loadFile(String filePath, Path custom, Analyzer analyzer) throws IOException, ParseException { try { SolrSynonymParser solrSynonymParser = new SolrSynonymParser(true, true, analyzer == null ? new WhitespaceAnalyzer() : analyzer); solrSynonymParser.parse(new BufferedReader(new InputStreamReader(RessourceLoading.class.getResourceAsStream( filePath)))); if (custom != null && custom.toFile().exists()) { solrSynonymParser.parse(new BufferedReader(new InputStreamReader(Files.newInputStream(custom)))); } return solrSynonymParser.build(); } catch (IOException | ParseException e) { throw new ElasticsearchException(e); } }
static SynonymMap.Builder getSynonymParser(Reader rulesReader, String format, boolean expand, Analyzer analyzer) throws IOException, ParseException { SynonymMap.Builder parser; if ("wordnet".equalsIgnoreCase(format)) { parser = new WordnetSynonymParser(true, expand, analyzer); ((WordnetSynonymParser) parser).parse(rulesReader); } else { parser = new SolrSynonymParser(true, expand, analyzer); ((SolrSynonymParser) parser).parse(rulesReader); } return parser; }
.onUnmappableCharacter(CodingErrorAction.REPORT); SolrSynonymParser parser = new SolrSynonymParser(true, expand, analyzer); File synonymFile = new File(synonyms); if (loader != null){ //first call in constructor
((WordnetSynonymParser) parser).parse(rulesReader); } else { parser = new SolrSynonymParser(true, expand, analyzer); ((SolrSynonymParser) parser).parse(rulesReader);
((WordnetSynonymParser) parser).parse(rulesReader); } else { parser = new SolrSynonymParser(true, expand, analyzer); ((SolrSynonymParser) parser).parse(rulesReader);