Получение ClasscastException для кода Предложение, написанного на SolrJ

Я настроил Предложение в Solr и, используя приведенный ниже URL, я могу получить результаты.

HTTP: // локальный: 8983 / Solr / collection1 / предлагаю предложить = верно и suggest.build = верно и suggest.dictionary = mySuggester & suggest.q = Мо?

Но чтобы добиться того же с кодом SolrJ, я получаю следующее исключение в строке 7 ниже фрагмента.

Исключение в потоке "main" java.lang.ClassCastException: org.apache.solr.common.util.SimpleOrderedMap не может быть приведено к java.util.Map в org.apache.solr.client.solrj.response.QueryResponse.setResponse(QueryResponse (QueryResponse).java:161) в org.apache.solr.client.solrj.SolrRequest.process(SolrRequest.java:178) в org.apache.solr.client.solrj.SolrClient.query(SolrClient.java:942) в орг.apache.solr.client.solrj.SolrClient.query(SolrClient.java:957) в com.finder.testsearch.SolrJBeanSearcher.main(SolrJBeanSearcher.java:71)

Код:

SolrQuery suggestionQuery = new SolrQuery();
suggestionQuery.setRequestHandler("/suggest");
suggestionQuery.set("suggest", "true");
suggestionQuery.set("suggest.build", "true");
suggestionQuery.set("suggest.dictionary", "mySuggester");
suggestionQuery.set("suggest.q", "Hom");
QueryResponse suggestionResponse = solr.query(suggestionQuery);

SuggesterResponse suggesterResponse = 
suggestionResponse.getSuggesterResponse();
Map<String,List<String>> suggestedTerms = 
suggesterResponse.getSuggestedTerms();
List<String> suggestions = suggestedTerms.get("mySuggester");

Ниже приведены записи solrconfig.xml.

<searchComponent name="suggest" class="solr.SuggestComponent">
<lst name="suggester">
  <str name="name">mySuggester</str>
  <str name="lookupImpl">FuzzyLookupFactory</str>
  <str name="dictionaryImpl">DocumentDictionaryFactory</str>
  <str name="field">tagsList</str>
  <str name="suggestAnalyzerFieldType">string</str>
  <str name="buildOnStartup">false</str>
</lst>
</searchComponent>

<requestHandler name="/suggest" class="solr.SearchHandler"
                  startup="lazy" >
  <lst name="defaults">
  <str name="suggest">true</str>
  <str name="suggest.count">10</str>
</lst>
<arr name="components">
  <str>suggest</str>
</arr>
</requestHandler>

Какие-либо предложения.

Благодарю.

1 ответ

SimpleOrderedMap не относится к java.util.Map, поэтому вы получаете эту ошибку.

См. https://lucene.apache.org/solr/6_0_0/solr-solrj/org/apache/solr/common/util/SimpleOrderedMap.html

Другие вопросы по тегам