【问题标题】:How to use solrj api to get the result based on xslt parameter如何使用solrj api根据xslt参数获取结果
【发布时间】:2016-06-05 18:10:54
【问题描述】:

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

【问题讨论】:

  • this。您可能必须在 setQuery() 方法中触发整个查询,以便让 solr 尊重您的响应类型。

标签: xslt solr solrj


【解决方案1】:

我认为您无法使用 solrj 获得 XSTL。你可以看看这个网站。 https://wiki.apache.org/solr/javabin#Supported_Types。 Javabin 是 SolrJ 使用的默认格式。

您可以做的只是在 url http://localhost:8983/solr/en_US/select?callback=jsonCallback&sort=articleDate%20desc&q= 发出一个简单的 http 请求:&wt=xslt&tr=ra.xsl

在这个网站上查看如何使用 java 发出 http 请求 How to send HTTP request in java? 并从那里得到响应(xstl)。

希望对你有帮助

【讨论】:

    猜你喜欢
    • 2015-02-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-12
    相关资源
    最近更新 更多