gpt4 book ai didi

c# - 带有 Nest 和 Field Suffix 的 MultiMatch 查询

转载 作者:太空宇宙 更新时间:2023-11-03 23:35:05 25 4
gpt4 key购买 nike

使用 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)
...

希望对您有所帮助。

关于c# - 带有 Nest 和 Field Suffix 的 MultiMatch 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30842530/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com