C# MetaTextScore怎么可能是;注入;进入MongoDb Linq查询

C# MetaTextScore怎么可能是;注入;进入MongoDb Linq查询,c#,mongodb,linq,.net-core,mongodb-.net-driver,C#,Mongodb,Linq,.net Core,Mongodb .net Driver,要全文搜索IMongoQueryable,我们可以使用以下扩展方法 公共静态IMongoQueryable WhereText(此IMongoQueryable查询,字符串搜索),其中存储了T: { var filter=Builders.filter.Text(搜索); 返回query.Where(=>filter.Inject()) } 同样,全文搜索分数(通常按以下方式排序)如何计算: 专用静态只读项目定义文本匹配ScoreProjection= Builders.Projection.

要全文搜索
IMongoQueryable
,我们可以使用以下扩展方法

公共静态IMongoQueryable WhereText(此IMongoQueryable查询,字符串搜索),其中存储了T:
{
var filter=Builders.filter.Text(搜索);
返回query.Where(=>filter.Inject())
}
同样,全文搜索分数(通常按以下方式排序)如何计算:

专用静态只读项目定义文本匹配ScoreProjection=
Builders.Projection.MetaTextScore(“分数”);
私有静态只读排序定义排序=
Builders.Sort.MetaTextScore(“score”);
collection.Find(…).Project(TextMatchScoreProjection).Sort(Sort);
可以使用
IMongoQueryable

文档中的示例为空 给定一个班级成员:

private readonly IMongoCollection\u someTypes;
注入查询分数的代码如下所示:

private IAggregateFluent CreateSearchQuery(字符串查询、int skipCount、int limitCount)
{
var filter=Builders.filter.Text(查询);
返回某些类型
.Aggregate()
//遗憾的是,我们每次都必须创建查询,因为我们没有办法传入
//将筛选器添加到已创建的查询,或更改筛选器的属性。
.Match(过滤器)
//当前匹配表达式中不支持空合并运算符(?)
//看https://jira.mongodb.org/browse/CSHARP-2708
//目前没有办法“注入”文本搜索分数
//看https://jira.mongodb.org/browse/CSHARP-2707
.AppendStage(“{$addFields:{score:{$meta:'textScore'}}”)
.Sort(_Sort)
.Skip(skipCount)
.限制(限制计数);
}