Получите XML-представление схемы Solr с помощью Solrj SchemaRequest

#java #scala #solr #playframework #solrj

#ява #скала #солр #playframework #solrj #java

Вопрос:

Я хочу получить свою Схему в формате XML с помощью класса SchemaRequest SolrJ. Согласно документации, он должен быть с параметром запроса wt= xml, но не имеет значения, как я его отправляю, он всегда возвращает ответ в формате json. Можно ли получить схему с помощью SolrJ в формате xml, как описано в документах?

это то, что я делаю прямо сейчас:

 val client =       new HttpSolrClient.Builder().withBaseSolrUrl(s"http://$host:$port/solr$collectionPath").build
val solrParams       = new ModifiableSolrParams(params)
val getSchemaRequest = new SchemaRequest(solrParams)
getSchemaRequest.process(client).getResponse
  

Последняя строка — это та, которая дает мне правильную схему, но в формате json. Заранее благодарю.

Я попытался добавить, чтобы добавить XMLResponseParser, как было предложено в комментариях.

 val getSchemaRequest = new SchemaRequest(query)
getSchemaRequest.setResponseParser(new XMLResponseParser)
  

но теперь я получаю это исключение:

 class org.apache.solr.common.util.SimpleOrderedMap cannot be cast to class java.util.Map (org.apache.solr.common.util.SimpleOrderedMap is in unnamed module of loader play.runsupport.NamedURLClassLoader @150d015c; java.util.Map is in module java.base of loader 'bootstrap')
  

Комментарии:

1. не уверен насчет solrj api … но можете ли вы попробовать преобразование json в xml

2. попробуйте установить solr.setParser(новый XMLResponseParser());

3. lucene. apache.org/solr/7_4_0/solr-solrj/org/apache/solr/client/…