数字字段
doc['field_name'].value 字段的值,作为 double
doc['field_name'].empty 一个布尔值,指示该字段在文档中是否没有值
doc['field_name'].length 本文档中的值的数量
doc['field_name'].min() 本文档中字段的最小值
doc['field_name'].max() 本文档中字段的最大值
doc['field_name'].median() 本文档中字段的中值
doc['field_name'].avg() 本文档中值的平均值
doc['field_name'].sum() 本文档中的值的总和
当文档完全缺少该字段时,默认情况下该值将被视为0. 您可以将其视为另一个值,
例如doc['myfield'].empty ? 100 : doc['myfield'].value
日期字段
doc['field_name'].date.centuryOfEra 世纪 (1-2920000)
doc['field_name'].date.dayOfMonth 日 (1-31),例如1一个月的第一天
doc['field_name'].date.dayOfWeek 星期几 (1-7),例如1星期一
doc['field_name'].date.dayOfYear 一年中的某一天,例如11 月 1 日
doc['field_name'].date.era 时代:0对于公元前,1对于公元
doc['field_name'].date.hourOfDay 小时 (0-23)
doc['field_name'].date.millisOfDay 一天内的毫秒数 (0-86399999)
doc['field_name'].date.millisOfSecond 秒内的毫秒 (0-999)
doc['field_name'].date.minuteOfDay 一天中的分钟 (0-1439)
doc['field_name'].date.minuteOfHour 小时内的分钟 (0-59)
doc['field_name'].date.monthOfYear 一年中的月份 (1-12),例如1一月
doc['field_name'].date.secondOfDay 一天内的第二个 (0-86399)
doc['field_name'].date.secondOfMinute 一分钟内的第二个 (0-59)
doc['field_name'].date.year 年(-292000000 - 292000000)
doc['field_name'].date.yearOfCentury 世纪内的年份 (1-100)
doc['field_name'].date.yearOfEra 时代内的年份(1-292000000)
显示date字段 date0 和 date1 之间的年份差异
doc['date1'].date.year - doc['date0'].date.year
Geo_point字段
doc['field_name'].empty 一个布尔值,指示该字段在文档中是否没有值。
doc['field_name'].lat 地理点的纬度。
doc['field_name'].lon 地理点的经度。
以下示例以公里为单位计算距华盛顿特区的距离:
haversin(38.9072, 77.0369, doc['field_name'].lat, doc['field_name'].lon)
在这个例子中,坐标可以作为参数传递给脚本,例如基于用户的地理位置。