gpt4 book ai didi

C# Nest Elastic Search 通配符查询 - 没有返回结果

转载 作者:行者123 更新时间:2023-12-02 22:56:50 24 4
gpt4 key购买 nike

我正在尝试使用通配符在 C# 中设置查询。我可以使用 MultiMatch 获得返回的正确数据,但没有成功使用通配符。这是我目前所拥有的:

public async Task<IEnumerable<SearchResultModel>> Search(string query)
var queryResults = await elasticApp.SearchAsync<dynamic>(s => s
.From(0)
.Take(10)
.Index(activeIndices)
.Type(dataTypes)
.Query(q => q
.Bool(b => b
.Should(m => m
.Wildcard(w => w
.Field("name")
.Value(w + "*")
)
)
)
)

所以函数参数query在使用MultiMatch时,你会在最后做.Query(query),但是当我尝试把它放在使用通配符中,我得到语法错误。根据 NEST ES 文档,您似乎没有在末尾使用 .Query

当前返回一个空数组。

如果我对使用 Nest 和 C# 不熟悉,请提供任何关于此的见解。

最佳答案

我能够通过执行以下操作解决我的问题:

.Query(q => q                    
.Bool(b => b
.Should(m => m
.Wildcard(c => c
.Field("name").Value(query.ToLower() + "*")
)
)
)
)

query 作为函数参数传入,我希望星号包含 query 之后的所有内容。

关于C# Nest Elastic Search 通配符查询 - 没有返回结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50532805/

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