我正在使用Elasticsearch 5.3。在索引中,我想将字段定义为ip
字段的数组。如何在映射中定义它?
答案 0 :(得分:3)
IP映射也可用于IP阵列。
PUT my_index
{
"mappings": {
"my_type": {
"properties": {
"ip_addr": {
"type": "ip"
}
}
}
}
}
在这里,您只需将IP索引为数组。
PUT my_index/my_type/1
{
"ip_addr": ["192.168.1.1", "192.168.1.2"]
}
然后你可以照常搜索它们。
GET my_index/_search
{
"query": {
"term": {
"ip_addr": "192.168.0.0/16"
}
}
}
单个条目和数组的映射在Elasticsearch中实际上总是相同的(对于原始数据类型)。
答案 1 :(得分:2)
您应该使用ip数据类型:
PUT my_index
{
"mappings": {
"my_type": {
"properties": {
"ip_addr": {
"type": "ip"
}
}
}
}
}