gpt4 book ai didi

json.net - 如何以 JSON 格式获取所有 SolrNet 查询结果信息?

转载 作者:行者123 更新时间:2023-12-04 05:53:02 24 4
gpt4 key购买 nike

我不确定这是 JSON.Net 问题还是 SolrNet 问题,这就是我用两者标记它的原因。

我正在使用 SolrNet,目前正在通过 MVC 调用处理与 JavaScript 的所有页面交互,方法是返回 solr.Query() 返回的对象的 JsonNetResult 编码。我现在正在试验 Facet,但在我的结果中没有看到 Facet 信息。

我有一个 MVC Controller 方法,如下所示。 (JsonNetResult 类似于股票 JsonResult,但使用 JSON.Net 对 JSON 进行编码,described here。)

public JsonNetResult Index(string keywords)
{
JsonNetResult jsonNetResult = new JsonNetResult();

var documents = solr.Query(new SolrQuery(keywords), new QueryOptions
{
Rows = 10,
Facet = new FacetParameters
{
Queries = new[] {new SolrFacetFieldQuery("system")}
}
});
jsonNetResult.Formatting = Formatting.Indented;
jsonNetResult.Data = documents;
return jsonNetResult;
}

我期待在 JsonNetResult 中看到编码为 JSON 的分面信息,但它包含的只是与我的查询匹配的文档的哈希数组。我是否遗漏了 SolrNet 响应对象的工作方式,还是我真的需要自己解析对象,并创建一些 JSON.Net 可以用来编码与我的查询相关的所有信息的东西?

仅供引用,我尝试在 MVC 中使用标准的 JsonResult,结果是一样的。此外,我使用 SolrNet 而不仅仅是直接调用 Solr 并要求 JSON 的原因是因为我们不想直接向用户公开 Solr 搜索引擎 Web 界面。

最佳答案

由于 Solr 可以使用 JSON 进行响应,如果您想将 JSON 直接返回到 View ,您将通过让 SolrNet 反序列化 XML 响应,然后将其序列化为 JSON 来招致一些不必要的开销。相反,使用 SolrNet 的组件来跳过响应解析器。执行此操作的几个指针:

  • SolrQueryExecuter.GetAllParameters()
  • Low-level SolrNet
  • 关于json.net - 如何以 JSON 格式获取所有 SolrNet 查询结果信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9844776/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com