次のクエリを使用します。
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
生成が間違っています。私は何を間違っていますか?