painless

本文介绍了Elasticsearch文档中字段的各种操作,包括数值字段的统计分析(如最小值、最大值等)、日期字段的时间差计算以及Geo_point字段的地理位置处理。这些功能展示了如何在搜索和分析过程中提取和利用数据的详细信息。
摘要由CSDN通过智能技术生成

数字字段

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)
​
在这个例子中,坐标可以作为参数传递给脚本,例如基于用户的地理位置。
​

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值