Fix
This commit is contained in:
parent
118c511e77
commit
a2988a88fb
1 changed files with 19 additions and 0 deletions
19
panels_vl.go
19
panels_vl.go
|
|
@ -58,6 +58,8 @@ func makeVLTargetWithType(refID, expr, datasourceUID, legendFormat, queryType st
|
||||||
// luceneToLogsQL конвертирует базовый Lucene-запрос в LogsQL.
|
// luceneToLogsQL конвертирует базовый Lucene-запрос в LogsQL.
|
||||||
// Поддерживает: AND→пробел, SID:(a OR b)→SID:in(a,b), field:[X TO Y]→field:>=X AND field:<=Y
|
// Поддерживает: AND→пробел, SID:(a OR b)→SID:in(a,b), field:[X TO Y]→field:>=X AND field:<=Y
|
||||||
func luceneToLogsQL(q string) string {
|
func luceneToLogsQL(q string) string {
|
||||||
|
// Убираем Lucene-экранирование — заменяем все \X на X
|
||||||
|
q = unescapeLucene(q)
|
||||||
// AND → пробел (LogsQL использует пробел как AND)
|
// AND → пробел (LogsQL использует пробел как AND)
|
||||||
q = strings.ReplaceAll(q, " AND ", " ")
|
q = strings.ReplaceAll(q, " AND ", " ")
|
||||||
|
|
||||||
|
|
@ -449,3 +451,20 @@ func buildVLBucketLogsTargets(cfg map[string]interface{}, _ string, _ string, da
|
||||||
makeVLStatsTarget("A", expr, datasourceUID, legendFormat),
|
makeVLStatsTarget("A", expr, datasourceUID, legendFormat),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// unescapeLucene убирает Lucene-экранирование символов вида \X → X
|
||||||
|
func unescapeLucene(q string) string {
|
||||||
|
var result strings.Builder
|
||||||
|
i := 0
|
||||||
|
for i < len(q) {
|
||||||
|
if q[i] == '\\' && i+1 < len(q) {
|
||||||
|
// Пропускаем обратный слеш, берём следующий символ как есть
|
||||||
|
result.WriteByte(q[i+1])
|
||||||
|
i += 2
|
||||||
|
} else {
|
||||||
|
result.WriteByte(q[i])
|
||||||
|
i++
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return result.String()
|
||||||
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue