solr solrj

¿Cómo se puede usar/exportar el manejador de solicitudes a través de SolrJ?



(0)

Estoy usando Solr 4.10.

He habilitado el controlador /export solicitud de /export para un índice agregando esto al solrconfig.xml (como se menciona aquí: https://cwiki.apache.org/confluence/display/solr/Exporting+Result+Sets ):

<requestHandler name="/export" class="solr.SearchHandler"> <lst name="invariants"> <str name="rq">{!xport}</str> <str name="wt">xsort</str> <str name="distrib">false</str> </lst> <arr name="components"> <str>query</str> </arr> </requestHandler>

Ahora puedo usar: http: // localhost: 8983 / solr / index / select ? .... así como http: // localhost: 8983 / solr / index / export ? .... desde un navegador o curl.

Pero no puedo hacer que funcione correctamente con SolrJ.

Intenté (como se sugiere aquí: https://lucene.apache.org/solr/4_10_0/solr-solrj/index.html ):

SolrQuery query = new SolrQuery(); ... query.setRequestHandler("/export"); ... httpSolrServer.query(query);

La consulta ahora tiene un parámetro &qt=export . Explotó dándome:

org.apache.solr.client.solrj.SolrServerException: Error executing query

Más búsqueda sugirió usar SolrRequest lugar de SolrQuery , lo intenté:

SolrQuery query = new SolrQuery(); ... query.setRequestHandler("/export"); SolrRequest solrRequest = new QueryRequest(query); httpSolrServer.request(solrRequest);

Ahora entiendo:

java.nio.charset.UnsupportedCharsetException: gzip

¿Algunas ideas?

---editar---

Encontré una opción en httpSolrServer.request() para agregar un ResponseParser . Encontré 4 ResponseParser s. Intenté todos, el único que funcionó fue NoOpResponseParser . Ahora tengo los resultados correctos, pero los arrojé como una cadena simple en una sola entrada en una NamedList . Traté de analizarlo como JSON, pero no está en el formato correcto. ¡Cada documento de 30,000, falta un !!!!

Volví a solrconfig.xml y cambié wt en el controlador /export de xsort a json . Ahora el formato de respuesta ha cambiado, pero tampoco tiene el formato correcto (los datos están incompletos) !!!!. Y XML no es compatible.

Estoy realmente desconcertado.