我正在尝试将以下弹性搜索DSL转换为NEST查询,我使用的是弹性搜索的5.2版本
GET articles/_search
{
"query": {
"bool": {
"must": [
{
"multi_match": {
"query": "FIY",
"fields": [
"title"
]
}
},
{
"nested": {
"path": "tags",
"query": {
"terms": {
"tags.tagName": [
"competition"
]
}
}
}
}
]
}
}
}
到目前为止,我已经得到了以下内容,我知道过滤器部分不应该在那里,但我似乎无法在没有它的情况下添加嵌套部分
var result = client.Search<Article>(x => x
.Query(q => q
.Bool(b => b
.Must(m => m
.MultiMatch(mp => mp
.Query(query)
.Fields(f => f
.Fields(f1 => f1.Title, f2 => f2.Content, f3 => f3.Tags))))
.Filter(f => f
.Nested(n => n
.Path("tags")
.Query(q1 => q1
.Terms(t1 => t1.Field(f2 => f2.Tags).Terms(tags))
))))));
答案 0 :(得分:2)
您不需要使用Filter.Just将Nested添加到Must Query
(public_path("images\") . $filename);