我对NEST client中的源代码过滤有问题。
这是我的代码示例:
var searchRequest = client.Search<Report>(analysisDescriptor
.Source(s => s
.Includes(i => i
.Fields(
f => f.ReportId,
f => f.Abstract,
f => f.Title
)
)
)
.Size(10));
哪里
analysisDescriptor
是
new SearchDescriptor<Report>()
具有用于文本搜索的业务逻辑。
这是我的构造函数类:
public class Report
{
public Report(int reportId, string itemAbstract, string title)
{
Abstract = itemAbstract;
ReportId = reportId;
Title = title;
/* Other fields */
}
public int ReportId { get; }
public string Abstract { get; }
public string Title { get; }
/* Other fields */
}
set
属性,并希望改用构造函数。
上面的代码
几乎
作品:
-
已分配ReportId
-
问题是
Abstract
itemAbstract
. 之所以这样做是因为
abstract
是C#中的保留关键字。如果我将构造函数中的字段名更改为
@abstract
-这是可行的,但似乎不对,因为我必须使用保留关键字。
摘要
ItemAbstract
这似乎不是一个选项,因为我们在数据库中有这样的选项,这将需要更多的更改。
摘要
我的字段
searchRequest
进入
Report
构造函数作为
项目摘要
. 希望这是有道理的。
我愿意接受任何其他干净且有意义的解决方案。