【发布时间】:2016-12-20 16:02:22
【问题描述】:
我使用以下查询:
var searchResults = client.Search<Contact>(s => s
.Index("someIndex")
.From(0)
.Size(20)
.AllTypes()
.MatchAll()
.Query(q => q
.Bool(bq => bq
.Must(mb => mb
.QueryString(qs => qs
.DefaultField(c => c.ValueCollection.Channel)
.Query("E-Mail")
)
)
)
)
);
当我注释掉 .Query() 部分时,我按预期获得了 20 次点击,但使用 .Query() 部分总是有 0 次点击。
使用 elastichead 我尝试了同样的方法,它生成了这个 JSON:
{
"from": 0,
"size": 20,
"query": {
"bool": {
"must": [
{
"query_string": {
"query": "E-Mail",
"default_field": "contact.ValueCollection.Channel"
}
}
]
}
}
}
它会产生 20 次点击。
然后我检查了 ConnectionStatus.Request 和 JSON 不同:
{
"from": 0,
"size": 20,
"query": {
"bool": {
"must": [
{
"query_string": {
"query": "E-Mail",
"default_field": "valueCollection.channel" <--- WRONG!!!
}
}
]
}
}
}
default_field 生成错误。我做错了什么?
【问题讨论】:
标签: .net json elasticsearch nest elasticsearch-net