如何使用solrj api获取基于xslt参数的结果

时间:2016-02-23 18:34:53

标签: xslt solr solrj

我已添加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获得相同的响应。

1 个答案:

答案 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)。

希望这有帮助