Solr:从出生日期算起,以年数计算年龄
我将DOB存储在MySQL数据库中,在SOLR中为数据编制索引时,我希望以年为单位计算年龄,并将其存储在另一个字段中 有没有办法做到这一点 我可以计算用户首次注册并输入DOB时的年龄,但我无法知道每年更新用户的年龄 如果在编制索引时这样做不是正确的方法,您能给我一些建议吗Solr:从出生日期算起,以年数计算年龄,solr,dob,Solr,Dob,我将DOB存储在MySQL数据库中,在SOLR中为数据编制索引时,我希望以年为单位计算年龄,并将其存储在另一个字段中 有没有办法做到这一点 我可以计算用户首次注册并输入DOB时的年龄,但我无法知道每年更新用户的年龄 如果在编制索引时这样做不是正确的方法,您能给我一些建议吗 谢谢请不要认为您可以将计算字段与响应一起返回。 计算可以很容易地在客户端完成,使用Solr响应 允许您对字段值进行大量操作 e、 g 但它们仅用于查询,不会影响响应。如前所述,您可以使用函数查询来计算年龄。还可以使用字段名别名
谢谢请不要认为您可以将计算字段与响应一起返回。
计算可以很容易地在客户端完成,使用Solr响应 允许您对字段值进行大量操作 e、 g
但它们仅用于查询,不会影响响应。如前所述,您可以使用函数查询来计算年龄。还可以使用字段名别名在Solr响应中返回新字段,例如:
&fl=age:div(ms(NOW,dob_dt),86400000)
将返回一个名为age的新字段,其中包含dob_dt字段和当前日期之间的差值。函数query ms(现在是dob_dt)将返回从dob_dt到当前日期的毫秒数。函数的作用是:将该值转换为天(即100006024)。将其延长至年(100006024*365):
&fl=age:div(ms(NOW,dob_dt),86400000)
&fl=age:div(ms(NOW,dob_dt),31536000000)