我有一个叫做“活动”的索引,里面有这些记录:
"hits" : [
{
"_index" : "campaigns",
"_id" : "cf08b05c-c8b5-45cb-bca8-17267c3613fb",
"_source" : {
"PublisherId" : 1,
"CurrentStatus" : "Pending"
}
},
{
"_index" : "campaigns",
"_id" : "39436cb3-483e-4fb4-92e4-4e06ecad27a1",
"_source" : {
"PublisherId" : 1,
"CurrentStatus" : "Approved"
}
},
{
"_index" : "campaigns",
"_id" : "21436cb1-583e-4fb4-92e4-4e06ecad23a2",
"_source" : {
"PublisherId" : 1,
"CurrentStatus" : "Rejected"
}
}
]
我要获取所有状态为“publisherid=1”且状态介于“approved,rejected”之间的活动。像这样:
var statuses = new[] {CampaignStatus.Approved,CampaignStatus.Rejected};
campaigns.Where(c=> c.PublisherId == 1 && statuses.Contains(c.CurrentStatus)).ToList();
如何使用nest运行此查询?
预期结果:
"hits" : [
{
"_index" : "campaigns",
"_id" : "39436cb3-483e-4fb4-92e4-4e06ecad27a1",
"_source" : {
"PublisherId" : 1,
"CurrentStatus" : "Approved"
}
},
{
"_index" : "campaigns",
"_id" : "39436cb3-483e-4fb4-92e4-4e06ecad27a1",
"_source" : {
"PublisherId" : 1,
"CurrentStatus" : "Rejected"
}
}
]
2条答案
按热度按时间tuwxkamq1#
你试过这个吗?
5jdjgkvh2#
我不知道这个词的语法
nest
但由于es是基于rest的,所以提供了json格式的工作示例查询,您可以将其转换为nest
代码。索引Map
索引所有三个示例文档并使用下面的搜索查询
搜索结果
请注意
minimum_should_match
至少有一种地位Rejected
以及Approved
匹配并引用es中的bool查询以了解查询构造。