字段类型
- keyword
用于精确term查询的字符串或数字,都按keyword类型建立 - long
用于lt、gt等范围查询, 及avg、sum等数字类型聚合的整数,按long建立 - double
基本同long,但是是小数 - date
也支持lt等范围查询,且范围查询时能识别"now-1d"这样的字符串, 支持 date_histogram 日期聚合。
建议写入时使用毫秒级时间戳(13位)
默认支持13位的时间戳 或 strict_date_optional_time , 需要yyyy-MM-dd HH:mm:ss 等其余格式 - geo_point
地理位置类型。包括经纬度。写入格式见官方文档 - ip
查询时能识别 CIDR 表达式, 如: “2001:db8::/48” - text(分词文本)
页面上选择keyword类型后,下方会显示分词规则,默认分词是按照空格逗号等分词,ik_smart是根据中文词义分,如“我爱中国”分成"我“、”爱“、“中国”。 - Array
数组中元素为以上基础类型的,按数组中元素的类型建立, 如List按 keyword类型建立。
数组中元素为对象类型的,按nested类型建立。 - Object
形如 o:{a: “test”, b: 1} , 则只建立子字段: “o.a” → keyword 、“o.b” → long - nested(List)
如果某字段是一个list,list里每个元素又是对象,有多个子字段,需要用这些子字段查询,则该字段需要建立成nested类型,用于查询的子字段也需要建立。