【发布时间】:2017-09-18 13:15:57
【问题描述】:
我正在尝试将以下 DSL 查询转换为 .net NEST 查询,我使用的是 5.2 版的 elasticsearch。
{
"size": 10,
"from": 0,
"query": {
"bool": {
"must": [
{
"multi_match": {
"query": "finished",
"fields": [
"title",
"content"
]
}
}
],
"filter": {
"bool": {
"must": [
{
"term": {
"applianceTypeId": "2a682cf7-5fe3-470f-81b2-a74e00ec7c9d"
}
},
{
"term": {
"applianceCategoryId": "bde32268-b62f-45cc-8d7d-a74a00d61476"
}
}
]
}
}
}
}
}
到目前为止,我得到了以下内容,但我在处理多个术语时遇到了问题。谁能建议我缺少什么?
var result = client.Search<AdviceSearchDocument>(x => x
.From(page -1)
.Size(10)
.Query(q => q
.Bool(b => b
.Must(m => m
.MultiMatch(mm => mm
.Query(query)
.Fields(f => f
.Fields(f1 => f1.Title, f1 => f1.Content))))
.Filter(f => f
.Bool(b1 => b1
.Must(m1 => m1
.Term(t =>t
.Field(fl =>fl.ApplianceTypeId)
.Value(applicanceTypeId)
)
))))));
【问题讨论】:
-
查看有关编写查询 (elastic.co/guide/en/elasticsearch/client/net-api/current/…) 和编写布尔查询 (elastic.co/guide/en/elasticsearch/client/net-api/current/…) 的文档。我认为那里有很多信息会对您有所帮助
标签: elasticsearch nest elasticsearch-dsl