- "format": ["yyyy-MM-dd HH:mm:ss"]:增加文档的时候loginTime的格式必须严格按照yyyy-MM-dd HH:mm:ss,如果缺少,会报错误
- 索引名称必须小写
#创建mapping
PUT test_ipadd
{
"mappings": {
"numeric_detection": true,
"date_detection": true,
"properties": {
"id":{
"type": "long"
},
"ipAddr":{
"type": "ip"
},
"loginTime":{
"type": "date",
"format": ["yyyy-MM-dd HH:mm:ss"]
}
}
}
}//增加数据
#一个ip字段可以索引/存储IPv4或 IPv6地址
POST /test_ipadd/_doc/1
{
"id":"1",
"ipAddr":"192.168.1.1",
"loginTime":"2019-11-15 10:12:11"
}POST /test_ipadd/_doc/2
{
"id":"2",
"ipAddr":"192.168.1.2",
"loginTime":"2019-11-15 10:12:11"
}POST /test_ipadd/_doc/3
{
"id":"3",
"ipAddr":"192.168.1.3",
"loginTime":"2019-11-15 10:12:11"
}
查询数据:
#1,可以是ip范围:192.168.0.0 - 192.168.255.25
#2,可以是具体的一个ip
#我们可以通过这样的方法搜索属于一个 IP 范围的日志文件供我们查询
GET test_ipadd/_search
{
"query": {
"term": {
"ipAddr": "192.168.0.0/16"
}
}
}GET test_ipadd/_search
{
"query": {
"term": {
"ipAddr": "192.168.0.1"
}
}
}