欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Elasticsearch(023):es常见的字段映射类型之IP类型

程序员文章站 2022-04-23 15:46:38
...

概念

es中拥有IP数据类型。一个ip字段可以索引/存储IPv4或 IPv6地址。

示例

我们先来看一个示例。

1、映射创建

PUT example
PUT example/docs/_mapping
{
    "properties":{
        "id":{"type": "long"},
        "browserName":{"type": "text"},
        "ipAddr":{"type": "ip"},
        "loginTime":{"type": "date", "format" : "yyyy-MM-dd HH:mm:ss"}
    }
}

2、 新增文档

PUT example/docs/1
{
    "id":1,
    "browserName":"chrome",
    "ipAddr": "192.168.127.164",
    "loginTime":"2019-11-15 10:10:10"
}

PUT example/docs/2
{
    "id":2,
    "browserName":"firefox",
    "ipAddr": "192.168.127.100",
    "loginTime":"2019-11-15 10:12:11"
}

PUT example/docs/3
{
    "id":3,
    "browserName":"opera",
    "ipAddr": "10.0.204.85",
    "loginTime":"2019-11-15 13:02:00"
}

3、 ip类型的查询

#查询ip类型字段示例
GET example/docs/_search
{
    "query": {
        "term": {
            "ipAddr": "192.168.0.0/16"
        }
    }
}
#出来2个结果

GET example/docs/_search
{
    "query": {
        "term": {
            "ipAddr": "2001:db8::/48"
        }
    }
}

注意:查询IP地址最常用的方法是使用 CIDR 表示法: [ip_address]/[prefix_length]