Nub*_*lar 5 c# elasticsearch nest
我正在尝试使用通配符在 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 + "*")
)
)
)
)
Run Code Online (Sandbox Code Playgroud)
因此,对于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() + "*")
)
)
)
)
Run Code Online (Sandbox Code Playgroud)
query
作为函数参数传入,我希望星号代表 后面的所有内容query
。
归档时间: |
|
查看次数: |
4827 次 |
最近记录: |