Skip to content

Commit bdc0ce1

Browse files
Changes after review (1)
-- Renamed to ElasticsearchSynonymParser -- Added explanation for ElasticsearchSynonymParser::add method -- Changed ElasticsearchSynonymParser::logger instance to static
1 parent 48be26a commit bdc0ce1

File tree

4 files changed

+18
-12
lines changed

4 files changed

+18
-12
lines changed

server/src/main/java/org/elasticsearch/index/analysis/ElasticSynonymParser.java renamed to server/src/main/java/org/elasticsearch/index/analysis/ElasticsearchSynonymParser.java

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -28,22 +28,28 @@
2828

2929
import java.io.IOException;
3030

31-
public class ElasticSynonymParser extends SolrSynonymParser {
31+
public class ElasticsearchSynonymParser extends SolrSynonymParser {
3232

3333
private final boolean lenient;
34-
private final Logger logger;
34+
private static final Logger logger =
35+
Loggers.getLogger(ElasticsearchSynonymParser.class, "ElasticsearchSynonymParser");
3536

36-
public ElasticSynonymParser(boolean dedup, boolean expand, boolean lenient, Analyzer analyzer) {
37+
public ElasticsearchSynonymParser(boolean dedup, boolean expand, boolean lenient, Analyzer analyzer) {
3738
super(dedup, expand, analyzer);
3839
this.lenient = lenient;
39-
logger = Loggers.getLogger(getClass(), "ElasticSynonymParser");
4040
}
4141

4242
@Override
4343
public void add(CharsRef input, CharsRef output, boolean includeOrig) {
44+
// This condition follows up on the overridden analyze method. In case lenient was set to true and there was an
45+
// exception during super.analyze we return a zero-length CharsRef for that word which caused an exception. When
46+
// the synonym mappings for the words are added using the add method we skip the ones that were left empty by
47+
// analyze i.e., in the case when lenient is set we only add those combinations which are non-zero-length. The
48+
// else would happen only in the case when the input or output is empty and lenient is set, in which case we
49+
// quietly ignore it. For more details on the control-flow see SolrSynonymParser::addInternal.
4450
if (lenient == false || (input.length > 0 && output.length > 0)) {
4551
super.add(input, output, includeOrig);
46-
} // the else would happen only in the case for lenient in which case we quietly ignore it
52+
}
4753
}
4854

4955
@Override

server/src/main/java/org/elasticsearch/index/analysis/SynonymGraphTokenFilterFactory.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,8 +60,8 @@ public Factory(String name, final Analyzer analyzerForParseSynonym, Reader rules
6060
parser = new WordnetSynonymParser(true, expand, analyzerForParseSynonym);
6161
((WordnetSynonymParser) parser).parse(rulesReader);
6262
} else {
63-
parser = new ElasticSynonymParser(true, expand, lenient, analyzerForParseSynonym);
64-
((ElasticSynonymParser) parser).parse(rulesReader);
63+
parser = new ElasticsearchSynonymParser(true, expand, lenient, analyzerForParseSynonym);
64+
((ElasticsearchSynonymParser) parser).parse(rulesReader);
6565
}
6666
synonymMap = parser.build();
6767
} catch (Exception e) {

server/src/main/java/org/elasticsearch/index/analysis/SynonymTokenFilterFactory.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -97,8 +97,8 @@ public Factory(String name, Analyzer analyzerForParseSynonym, Reader rulesReader
9797
parser = new WordnetSynonymParser(true, expand, analyzerForParseSynonym);
9898
((WordnetSynonymParser) parser).parse(rulesReader);
9999
} else {
100-
parser = new ElasticSynonymParser(true, expand, lenient, analyzerForParseSynonym);
101-
((ElasticSynonymParser) parser).parse(rulesReader);
100+
parser = new ElasticsearchSynonymParser(true, expand, lenient, analyzerForParseSynonym);
101+
((ElasticsearchSynonymParser) parser).parse(rulesReader);
102102
}
103103
synonymMap = parser.build();
104104
} catch (Exception e) {

server/src/test/java/org/elasticsearch/index/analysis/ElasticSynonymParserTests.java renamed to server/src/test/java/org/elasticsearch/index/analysis/ElasticsearchSynonymParserTests.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,10 +33,10 @@
3333

3434
import static org.hamcrest.Matchers.containsString;
3535

36-
public class ElasticSynonymParserTests extends ESTokenStreamTestCase {
36+
public class ElasticsearchSynonymParserTests extends ESTokenStreamTestCase {
3737

3838
public void testLenientParser() throws IOException, ParseException {
39-
ElasticSynonymParser parser = new ElasticSynonymParser(true, false, true, new StandardAnalyzer());
39+
ElasticsearchSynonymParser parser = new ElasticsearchSynonymParser(true, false, true, new StandardAnalyzer());
4040
String rules =
4141
"&,and\n" +
4242
"come,advance,approach\n";
@@ -50,7 +50,7 @@ public void testLenientParser() throws IOException, ParseException {
5050
}
5151

5252
public void testNonLenientParser() {
53-
ElasticSynonymParser parser = new ElasticSynonymParser(true, false, false, new StandardAnalyzer());
53+
ElasticsearchSynonymParser parser = new ElasticsearchSynonymParser(true, false, false, new StandardAnalyzer());
5454
String rules =
5555
"&,and=>and\n" +
5656
"come,advance,approach\n";

0 commit comments

Comments
 (0)