You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Solr-C#查询排序字段莫名追加's'问题排查求助

问题:Solr排序功能异常,生成的sort参数多了额外的's'

我们的Solr排序功能无法正常工作,经排查发现生成的查询语句末尾为sort=date_tdts%20desc,而正确格式应为sort=date_tdt%20desc(多了一个额外的's')。我们不清楚代码中该额外's'的来源,以下是相关代码片段,请求排查原因:

索引字段配置

[IndexField("date_tdt")]
public DateTime Date { get; set; }

查询生成代码

var orderExpression = searchAdapter.MapFilterToOrder(query, out bool orderByDescending);

var resultsQueryable = providerSearchContext.GetQueryable<TSearchItem>()
    .Where(basePredicate);

if(query.Filters != null)
{
    var queryPredicate = CombinePredicates(query.Filters.Select(searchAdapter.MapFilterToPredicate));
    resultsQueryable = resultsQueryable.Where(queryPredicate);
}

if (orderExpression != null)
{
    resultsQueryable = orderByDescending
        ? resultsQueryable.OrderByDescending(orderExpression)
        : resultsQueryable.OrderBy(orderExpression);
}

MapFilterToOrder方法实现

public virtual Expression<Func<ArticleSearchResultItem, object>> MapFilterToOrder(SearchQuery query,
    out bool @descending)
{
    @descending = true;

    return x => x.Date;
}

内容的提问来源于stack exchange,提问作者Erica Stockwell-Alpert

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.18 01:59:54