休眠搜索-匹配空日期字段

问题描述

我想实现一个查询获取endDate为null的实体,为此,我使用indexnullAs,因为没有索引空值

nlin_causality.test( ts1,ts2,lag,LayersUniv,LayersBiv,iters = 100,learningRate = 0.1,algo = "sgd",bias = TRUE,activationsUniv = vector(),activationsBiv = vector()
)

但是我有以下错误

HSEARCH000325:字段“ endDate”的“ indexnullAs”属性,带有 值' null ',格式无效:HSEARCH000293:'indexnullAs' 索引为Longs的字段的属性必须表示Long数字。 无法解析' null '。

解决方法

错误几乎说明了什么。在内部,日期被索引为long个数字,因此您的空令牌也必须是long

只需选择一个不会与有效日期表示冲突的long值,例如9223372036854775807(最大long值)。

或者,如果您的项目还不太大(尚未),则您也可以迁移到Hibernate Search 6(处于测试版,但经过了充分测试并已接近最终版本)。在许多改进中,Hibernate Search 6具有一个exists predicate,使“空令牌”成为不必要。