[英]MultiMatch query with Nest and Field Suffix
使用Elasticsearch我有一个带后缀的字段 - 字符串字段,带有.english后缀,上面有英文分析器,如下图所示
...
"valueString": {
"type": "string",
"fields": {
"english": {
"type": "string",
"analyzer": "english"
}
}
}
...
以下查询代码段将无法编译,因为ValueString
没有English
属性。
...
sh => sh
.Nested(n => n
.Path(p => p.ScreenData)
.Query(nq => nq
.MultiMatch(mm => mm
.Query(searchPhrase)
.OnFields(
f => f.ScreenData.First().ValueString,
f => f.ScreenData.First().ValueString.english)
.Type(TextQueryType.BestFields)
)
)
)...
有没有办法在NEST中查询时强烈键入后缀或者我是否必须使用魔术字符串?
您是否尝试使用扩展方法Suffix
?
这是您修改查询的方法:
...
.OnFields(
f => f.ScreenData.First().ValueString,
f => f.ScreenData.First().ValueString.Suffix("english"))
.Type(TextQueryType.BestFields)
...
希望能帮助到你。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.