在 kibana 中按 uri 参数过滤
filter by uri param in kibana
我有一个如下所示的休息端点:
GET /files/{id}/properties
我想在 kibana 发现选项卡中通过 uri 过滤此端点,但我不知道如何在 kibana 中编写像“/files/*/properties”这样的正则表达式。我将端点 uri 存储在 uri 字段中。我该怎么做?
很难在 kibana 中直接使用正则表达式,但您可以在 Kibana 过滤器中使用正则表达式,因为您可以直接编辑过滤器。您可以在您的 kibana 中添加一个随机过滤器,然后单击以编辑您的过滤器,如下所示:[如果您使用的分词器不包含 /
][=,则可以使用16=]
{
"query": {
"regexp": {
"uri": {
"value": "/files/.*/properties"
}
}
}
}
关于如何添加和编辑过滤器:See this
更新:
刚试过,如果您使用默认分词器,您的 url 似乎会被分词为 ["files", "${id}", "properties"]
。在这种情况下,我认为您无法使用正则表达式进行完整搜索。正则表达式仅适用于单个单词。我认为在这种情况下你应该使用短语匹配:
{
"query": {
"match": {
"uri": {
"query": "files properties",
"type": "phrase",
"slop": "2"
}
}
}
}
在此处查看有关 phrase match with slop 的文档。
我有一个如下所示的休息端点:
GET /files/{id}/properties
我想在 kibana 发现选项卡中通过 uri 过滤此端点,但我不知道如何在 kibana 中编写像“/files/*/properties”这样的正则表达式。我将端点 uri 存储在 uri 字段中。我该怎么做?
很难在 kibana 中直接使用正则表达式,但您可以在 Kibana 过滤器中使用正则表达式,因为您可以直接编辑过滤器。您可以在您的 kibana 中添加一个随机过滤器,然后单击以编辑您的过滤器,如下所示:[如果您使用的分词器不包含 /
][=,则可以使用16=]
{
"query": {
"regexp": {
"uri": {
"value": "/files/.*/properties"
}
}
}
}
关于如何添加和编辑过滤器:See this
更新:
刚试过,如果您使用默认分词器,您的 url 似乎会被分词为 ["files", "${id}", "properties"]
。在这种情况下,我认为您无法使用正则表达式进行完整搜索。正则表达式仅适用于单个单词。我认为在这种情况下你应该使用短语匹配:
{
"query": {
"match": {
"uri": {
"query": "files properties",
"type": "phrase",
"slop": "2"
}
}
}
}
在此处查看有关 phrase match with slop 的文档。