Skip to content

ArrayIndexOutOfBoundException #11864

@akhgeek30

Description

@akhgeek30

Description

Steps to reproduce

  1. Query = abc-ghi

  2. Create a synonym file as
    Synonym.txt = {
    abc,def
    ghi,jkl
    }

  3. 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

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions