c# - C# Nest Elastic Search 通配符查询 - 未返回任何结果
问题描述
我正在尝试使用通配符在 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
.
推荐阅读
- javascript - 挂载后使用 JQuery 附加 Vue 组件
- javascript - DevExtreme setCellValue 未按预期工作
- git - 同步 git 存储库而不能相互访问,也不能从任何系统访问两者
- xcode - NSInteger 0+0=4300282608
- javascript - 当用户遍历地图时,如何根据当前地图画布绘制标记
- ios - 如何在 swift 4 中解析 iTunes API?
- python - 遍历字符串列表直到 string == newline
- r - 自定义 `GeomLink` 函数未找到在 `setup_data` 中计算的列
- php - 这个表达式是如何工作的?($变量/60) % 60
- java - 两个在 Spring-Config 中为一个 Spring-Bean 使用两个 ID 可以吗?