我已添加XSLT文件以在Apache solr中格式化我的结果。
通过导航到以下URL,在XSLT转换后,结果将按预期进行:
http://localhost:8983/solr/en_US/select?callback=jsonCallback&sort=articleDate%20desc&q=*:*&wt=xslt&tr=ra.xsl
我需要使用Solrj API实现相同的功能。我无法使用Java中的Solrj API转换结果。
SolrServer solrServer = new HttpSolrServer("http://localhost:8983/solr/en_US");
NamedList<Object> params = new NamedList<Object>();
params.add("wt", "xslt");
params.add("tr", "ra.xsl");
SolrQuery query = new SolrQuery();
query.add(ModifiableSolrParams.toSolrParams(params));
query.setQuery("*:*");
query.addSort("articleDate",SolrQuery.ORDER.desc);
QueryResponse response = solrServer.query(query);
SolrDocumentList results = response.getResults();
我正在设置上述参数。 请帮助我使用Solrj API获得相同的响应。
答案 0 :(得分:0)
我认为你不能使用solrj获得XSTL。你可以看看这个网站。 https://wiki.apache.org/solr/javabin#Supported_Types。 Javabin是SolrJ使用的默认格式。
您可以做的只是在网址http://localhost:8983/solr/en_US/select?callback=jsonCallback&sort=articleDate%20desc&q= 上发出简单的http请求:&amp; wt = xslt&amp; tr = ra.xsl
在这个网站上查看如何使用java发出http请求 How to send HTTP request in java? 并从那里得到响应(xstl)。
希望这有帮助