elasticsearch - 使用 Query DSL 查询字段是否包含字符串
问题描述
我正在尝试为包含字符串“pH”的字段过滤 Kibana。该字段称为extra.monitor_value_name
。潜在值的示例是Temperature_ABC01
、DO_ABC01
或pH_ABC01
。
Kibana 的 Elasticsearch Query DSL 似乎没有“包含字符串”,所以我需要自定义查询。
我是 Query DSL 的新手,你能帮我创建查询吗?
另外,称它为Query DSL 是否合适?我什至不确定措辞是否恰当。
解决方案
好的!回过头来回答我自己的问题。
我最初的问题源于不知道field_name
vs field_name.keyword
。在此处阅读有关关键字的信息:Kibana 中的“field”和“field.keyword”字段有什么区别?
解决方案 1
这是我最终使用的查询。我使用了正则表达式查询。我发现这篇文章有助于找出正则表达式的语法:
{
"query": {
"regexp": {
"extra.monitor_value_name.keyword": "pH.*"
}
}
}
解决方案 2
在没有 Query DSL 的情况下,我可以过滤的另一种方法是在搜索字段中输入:extra.monitor_value_name.keyword:pH*
. 需要注意的一件有趣的事情是.keyword
这种方法似乎没有必要。我不确定为什么。
推荐阅读
- python - 根据第一个列表中的数字检测第二个列表中的所有重复项
- angular - 当我动态添加 html 组件时,Angular 页面不滚动
- azure - Azure Logic App 的成本比我预期的要多;不认为我了解价格?
- linux - nginx 错误 502 代理错误网关错误
- python - Azure Cosmos DB CSV 上传
- r - 显示 html 元数据时如何解决 Jupyter R 笔记本的“奇怪的滚动框”显示问题?
- r - 带有研究站点的 getNOAA.bathy 显示了不应该出现在陆地上的站点。因此无法计算站点之间的水距离
- c# - 如何在 Visual Studio 2022 C# 编辑器中取消加粗静态方法?
- python - Python - 使用 PyPDF2 合并具有相同前缀的 PDF 文件
- java - from vs fromUnfiltered with nullable variable - Optaplanner