-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Description
Description
Steps to reproduce
-
Query = abc-ghi
-
Create a synonym file as
Synonym.txt = {
abc,def
ghi,jkl
} -
Schema to be followed
managed-schema
`
analyzer type="query"tokenizer class="solr.WhitespaceTokenizerFactory"
filter class="solr.LowerCaseFilterFactory"
filter class="solr.WordDelimiterGraphFilterFactory" types="word_dlimiters.txt" generateNumberParts="0" stemEnglishPossessive="0" splitOnCaseChange="0" preserveOriginal="0" catenateAll="1" catenateWords="1" catenateNumbers="1" protected="protwordsSpecial.txt" generateWordParts="1" splitOnNumerics="0"
filter class="solr.FlattenGraphFilterFactory"
filter class="solr.SynonymGraphFilterFactory" expand="true" ignoreCase="true" synonyms="synonyms.txt"
filter class="solr.FlattenGraphFilterFactory"
/analyzer
`
Error :
java.lang.ArrayIndexOutOfBoundsException: 0\r\n\tat org.apache.lucene.util.QueryBuilder.newSynonymQuery(QueryBuilder.java:653)\r\n\tat org.apache.solr.parser.SolrQueryParserBase.newSynonymQuery(SolrQueryParserBase.java:617)\r\n\tat org.apache.lucene.util.QueryBuilder.analyzeGraphBoolean(QueryBuilder.java:533)\r\n\tat org.apache.lucene.util.QueryBuilder.createFieldQuery(QueryBuilder.java:320)\r\n\tat org.apache.lucene.util.QueryBuilder.createFieldQuery(QueryBuilder.java:240)\r\n\tat org.apache.solr.parser.SolrQueryParserBase.newFieldQuery(SolrQueryParserBase.java:524)\r\n\tat org.apache.solr.parser.QueryParser.newFieldQuery(QueryParser.java:62)\r\n\tat org.apache.solr.parser.SolrQueryParserBase.getFieldQuery(SolrQueryParserBase.java:1072)\r\n\tat org.apache.solr.parser.SolrQueryParserBase.handleBareTokenQuery(SolrQueryParserBase.java:806)\r\n\tat org.apache.solr.parser.QueryParser.Term(QueryParser.java:421)\r\n\tat org.apache.solr.parser.QueryParser.Clause(QueryParser.java:278)\r\n\tat org.apache.solr.parser.QueryParser.Query(QueryParser.java:162)\r\n\tat org.apache.solr.parser.QueryParser.Clause(QueryParser.java:282)\r\n\tat org.apache.solr.parser.QueryParser.Query(QueryParser.java:222)\r\n\tat org.apache.solr.parser.QueryParser.Clause(QueryParser.java:282)\r\n\tat org.apache.solr.parser.QueryParser.Query(QueryParser.java:162)\r\n\tat org.apache.solr.parser.QueryParser.Clause(QueryParser.java:282)\r\n\tat org.apache.solr.parser.QueryParser.Query(QueryParser.java:162)\r\n\tat org.apache.solr.parser.QueryParser.Clause(QueryParser.java:282)\r\n\tat org.apache.solr.parser.QueryParser.Query(QueryParser.java:222)\r\n\tat org.apache.solr.parser.QueryParser.TopLevelQuery(QueryParser.java:131)\r\n\tat org.apache.solr.parser.SolrQueryParserBase.parse(SolrQueryParserBase.java:260)\r\n\tat org.apache.solr.search.LuceneQParser.parse(LuceneQParser.java:49)\r\n\tat org.apache.solr.search.QParser.getQuery(QParser.java:173)\r\n\tat org.apache.solr.search.ExtendedDismaxQParser.getBoostQueries(ExtendedDismaxQParser.java:566)\r\n\tat org.apache.solr.search.ExtendedDismaxQParser.parse(ExtendedDismaxQParser.java:187)\r\n\tat org.apache.solr.search.QParser.getQuery(QParser.java:173)\r\n\tat org.apache.solr.handler.component.QueryComponent.prepare(QueryComponent.java:159)\r\n\tat org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:272)\r\n\tat
Found Issue in org/apache/lucene/util/QueryBuilder.java
protected Query newSynonymQuery(Term terms[]) {
SynonymQuery.Builder builder = new SynonymQuery.Builder(terms[0].field());
for (Term term : terms) {
builder.addTerm(term);
}
return builder.build();
}
Version and environment details
Version > 8.0.0