一个关于模糊查询的问题,比如我的每条日志都有几个标签:namespace , app , service ,pod等等,要在按照这几个标签查出来的日志中进行模糊匹配(即关键字搜索),该怎么写查询语句?下面这个查询语句无法达到预期,就是不能满足在规定了namespace和application之后,再进行的模糊查询,而结果能匹配我所需要的。实际情况却是,只能查出来namespace=default和app=test下面的所有日志,而不能进一步的匹配包含“goose migrate start”这句话的日志
{
"query": {
"bool": {
"must": [
{
"term": {
"kubernetes.namespace": "default"
}
},
{
"term": {
"kubernetes.labels.application": "test"
}
}
],
"should": [
{
"match_phrase": {
"log": {
"query": "goose migrate start",
"slop": 50
}
}
}
]
}
}
{
"query": {
"bool": {
"must": [
{
"term": {
"kubernetes.namespace": "default"
}
},
{
"term": {
"kubernetes.labels.application": "test"
}
}
],
"should": [
{
"match_phrase": {
"log": {
"query": "goose migrate start",
"slop": 50
}
}
}
]
}
}
[尊重社区原创,转载请保留或注明出处]
本文地址:http://elasticsearch.cn/article/243
本文地址:http://elasticsearch.cn/article/243