有一个level
分析字段,其值为"INFO"
,"WARN"
,"ERROR"
...
有时值可以像"info"
一样小写。
当我在 Kibana 中执行简单的条款聚合时,会创建2个存储桶:一个用于"INFO"
,另一个用于"info"
。
我已经指定CASE_INSENSITIVE
标志但没有成功。
是否可以在 ElasticSearch 级别触及此字段的标记化时获得此行为?
答案 0 :(得分:1)
您可以通过scripting
实现这一目标。虽然不建议使用scripting
,因为它会使查询速度变慢,但如果您希望在不触及tokenization
的情况下获得结果,则可以使用以下查询。
{
"aggs" : {
"group_level_ignore_case" :{
"terms" : {
"script" : "doc['level'].value.toLowerCase()"
}
}
}
}
希望这有帮助。
答案 1 :(得分:0)
好的,我终于找到了办法:
level
String
Upper Case
Update Field
按钮现在,当我构建大多数可视化时,"INFO"
和"info"
被认为是相同的并且已合并。
但是表格视图仍然会继续认为它们是不同的,即使它们都显示为"INFO"
!