gpt4 book ai didi

solr - 如何使用 Solrnet 返回搜索结果分数

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

我们正在使用 SolrNet API 来索引和搜索一组文档。对应的代表Solr文档的POCO为

internal class IndexDocument
{
[SolrField("DocId")]
public long DocId { get; set; }

[SolrField("DocTitle")]
public string DocTitle { get; set; }

[SolrField("Content")]
public string Content { get; set; }
}

我们可以索引数据并成功返回搜索结果。要求是返回结果项的相关性分数以及 solr 文档属性。我们可以通过在搜索请求中将“score”作为一个字段添加到solr来返回分数数据。但问题是我们如何接受 solr 结果中的分数数据,因为这不是 solr 文档类的一部分。我们使用以下代码片段来执行搜索:

SolrQueryResults<IndexDocument> results = SolrInstance.Query(query, options);

当我们从solr管理界面执行查询时,我们可以得到返回的分数数据,但是我们如何在结果对象中返回分数数据,因为搜索结果仅根据IndexDocument类返回。 SolrQueryResults 类的其他参数,如 Grouping、Higlights、SimilarResults、Terms 等,通常与 Solr 文档类无关,也不适合返回分数数据。

最佳答案

Maurizio 和 HungryPipo 的回答给了我一些提示,但这是对我有用的代码(在 sitecore 项目上):

[IndexField("score")]
public decimal Score { get; set; }

此外,我必须将其添加到查询选项中:

Fields = {"*", "score"}

关于solr - 如何使用 Solrnet 返回搜索结果分数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16373079/

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