gpt4 book ai didi

elasticsearch - 使用 Query DSL 查询字段是否包含字符串

转载 作者:行者123 更新时间:2023-12-02 22:21:57 25 4
gpt4 key购买 nike

我正在尝试为包含字符串“pH”的字段过滤 Kibana。该字段名为 extra.monitor_value_name .潜在值的示例是 Temperature_ABC01 , DO_ABC01 , 或 pH_ABC01 .

Kibana 的 Elasticsearch Query DSL 似乎没有“包含字符串”,所以我需要自定义查询。

我是 Query DSL 的新手,你能帮我创建查询吗?

另外,将其称为 Query DSL 是否合适?我什至不确定正确的措辞。

最佳答案

好的!回过头来回答我自己的问题。

我最初的问题源于不知道 field_name对比 field_name.keyword .在此处阅读有关关键字的信息:What's the difference between the 'field' and 'field.keyword' fields in Kibana?

解决方案 1

这是我最终使用的查询。我使用了正则表达式查询。我找到了 this article有助于找出正则表达式的语法:

{
"query": {
"regexp": {
"extra.monitor_value_name.keyword": "pH.*"
}
}
}

解决方案 2

我可以在没有 Query DSL 的情况下进行过滤的另一种方法是在搜索字段中输入: extra.monitor_value_name.keyword:pH* .
需要注意的一件有趣的事情是 .keyword这种方法似乎没有必要。我不知道为什么。

关于elasticsearch - 使用 Query DSL 查询字段是否包含字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55146006/

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