将 .keyword 附加到 NEST elasticsearch 查询中的字段名
Append .keyword to fieldname in NEST elasticsearch query
假设我的查询是:
.Query(query =>
query.Bool(b => b.Must(m =>
m.Wildcard(w => w.Field(f => f.userName).Value(string.Format("*{0}*", searchModel.username).Suffix("keyword")))
)));
输出查询(来自 DeubgInformation)将类似于:
{
"query": {
"bool": {
"must": [{
"wildcard": {
"userName": "*alex*"
}
}
],
"must_not": [],
"should": []
}
}
}
然而这不起作用。它需要在用户名末尾附加“.keyword”。下面的查询有效,但我无法通过 NEST 生成它:
{
"query": {
"bool": {
"must": [{
"wildcard": {
"userName.keyword": "*alex*"
}
}
],
"must_not": [],
"should": []
}
}
}
知道如何让 NEST 在字段名称末尾添加“.keyword”吗? (当然是流利的方式,否则 w.Field("userName.keyword")
有效)
Suffix()
调用需要成为成员访问表达式的一部分
.Query(query => query
.Bool(b => b
.Must(m => m
.Wildcard(w => w
.Field(f => f.userName.Suffix("keyword"))
.Value(string.Format("*{0}*", searchModel.username)
)
)
)
));
假设我的查询是:
.Query(query =>
query.Bool(b => b.Must(m =>
m.Wildcard(w => w.Field(f => f.userName).Value(string.Format("*{0}*", searchModel.username).Suffix("keyword")))
)));
输出查询(来自 DeubgInformation)将类似于:
{
"query": {
"bool": {
"must": [{
"wildcard": {
"userName": "*alex*"
}
}
],
"must_not": [],
"should": []
}
}
}
然而这不起作用。它需要在用户名末尾附加“.keyword”。下面的查询有效,但我无法通过 NEST 生成它:
{
"query": {
"bool": {
"must": [{
"wildcard": {
"userName.keyword": "*alex*"
}
}
],
"must_not": [],
"should": []
}
}
}
知道如何让 NEST 在字段名称末尾添加“.keyword”吗? (当然是流利的方式,否则 w.Field("userName.keyword")
有效)
Suffix()
调用需要成为成员访问表达式的一部分
.Query(query => query
.Bool(b => b
.Must(m => m
.Wildcard(w => w
.Field(f => f.userName.Suffix("keyword"))
.Value(string.Format("*{0}*", searchModel.username)
)
)
)
));