elasticsearch 在Kibana的文本字段中查找冒号分隔的值
我在麋鹿中有一些数据,结构如下:elasticsearch 在Kibana的文本字段中查找冒号分隔的值,elasticsearch,kibana,elasticsearch,Kibana,我在麋鹿中有一些数据,结构如下: { "_index": "...", "_type": "...", "_id": "...", "_score": null, "_source": { "ActivityID": "7aa89a606fb940598c1906fcc315788f", "input_type": "log", "Date": "2017-04-05 15:00:05.0212", "Details": " Data: Ev
{
"_index": "...",
"_type": "...",
"_id": "...",
"_score": null,
"_source": {
"ActivityID": "7aa89a606fb940598c1906fcc315788f",
"input_type": "log",
"Date": "2017-04-05 15:00:05.0212",
"Details": " Data: EventsCount: 1 accountId: 12345 otherId: 12345 sql: SELECT Bla FROM Bla EventId: 5",
"ThreadID": "21",
"@version": "1"
}
}
我可以成功地使用regexp过滤器过滤Details
列中冒号后面的值:
{
"query": {
"regexp": {
"Details": {
"value": "[0-9]{5}"
}
}
}
}
这将突出显示包含5位数字的所有accountId/otherId值
但是,如果我尝试筛选名称(即eventscont/accountId/otherId或“accountId:12345”),则不会得到任何结果
详细信息只是一个字符串字段,因此其内容应该被视为一个大字符串,但由于某种原因,ELK没有搜索冒号前面的名称和/或空格和冒号本身)
如何搜索实例:eventscont:[0-9]{4}
版本5.3.0
映射:
"Details": {
"type": "text",
"norms": false
},
您可以搜索EventScont:[0-9]*并进行匹配EventScont之后的数字是一位数字。@RoiHatam遗憾的是,它不起作用。
:
如果对字段进行了分析,并且您无法使用它进行查询,则该字段可能会消失。因此,您可以在插入数据之前进行一些处理,并正确插入详细信息的每个字段,或者更改新数据上的映射,使其不被分析,或者将标记器更改为空白
(如果要对数据进行一些查询,我个人更喜欢第一个)@Pigueiras不仅仅是:
,即使我搜索EventsCount
,它也没有找到任何东西,好像它在猜测,:
是关键,而不仅仅是另一个词。你的映射是什么?