Elasticsearch(023):es常見的字段映射類型之IP類型

概念

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]

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章