使用 NEST 客户端将过滤器添加到 Elasticsearch 中的搜索查询中
本文关键字:Elasticsearch 搜索 查询 添加 NEST 客户端 过滤器 使用 | 更新日期: 2023-09-27 18:35:52
这是我对过滤器查询的获取请求
GET demosearch/_search
{
"query": {
"filtered": {
"query": {
"match_phrase": {
"material": "shirt"
}
},
"filter": {
"term": {
"colorId":"31"
}
}
}
}
}
现在我需要使用 nest 客户端在 C# 中编写此查询,我已经尝试过这样的事情,但它对我不起作用
var res1=client.Search<nextDocument>(s=>s.Analyzer("automplete")
.From(0).Size(20)
.Query(f=>f.Filtered(c=>c
.Query(v=>v.MatchAll())
.Filter(b=>b.
Term(l=>l.CategoryId)))));
请提前帮我谢谢!
使用MatchPhrase
方法
.Query(q =>
q.MatchPhrase(m =>
m.OnField(f => f.Material)
.Lenient()
.Query("shirt"))
&& q.Term(t => t.ColorId, 31)));
此外,您可以使用QueryRaw
方法将查询作为字符串运行
QueryRaw(queryString);