gpt4 book ai didi

elasticsearch - Kibana查询具有4位数字的句子(具有特定顺序的单词)

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

我是Elasticsearch的新手,想在message字段中找到以下句子

completed in ???? ms



在哪里?是数字

我现在有这个
{
"query": {
"query_string": {
"analyze_wildcard": true,
"default_field": "*",
"query": "(message:completed) AND (message:in) AND (message:/[0-9]{4}/) AND (message:ms)"
}
}
}

但是问题是结果还包含类似这样的消息,我对此不感兴趣
enter image description here

如何指定匹配词的顺序?

提前致谢

我也尝试过这个没有运气:
{
"query": {
"regexp": {
"message": {
"value": "completed in [0-9]{4} ms"
}
}
}
}

最佳答案

正则表达式适用于已分析的术语,正则表达式不能用作短语
您可以使用span query实现相同目的。就性能而言,更好的选择是在索引时间处理此问题,可能创建一个结构化日志,其中要查询的子文本是一个单独的字段

{
"query": {
"span_near": {
"clauses": [
{
"span_term": {
"message": {
"value": "job"
}
}
},
{
"span_term": {
"message": {
"value": "completed"
}
}
},
{
"span_term": {
"message": {
"value": "in"
}
}
},
{
"span_multi": {
"match": {
"regexp": {
"message": "[0-9]{4}"
}
}
}
},
{
"span_term": {
"message": {
"value": "ms"
}
}
}
],
"slop": 0,
"in_order": true
}
}
}

关于elasticsearch - Kibana查询具有4位数字的句子(具有特定顺序的单词),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60803820/

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