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

时间:2020-09-07 14:25:55

标签: hibernate lucene hibernate-search

我想实现一个查询来获取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 '。

1 个答案:

答案 0 :(得分:1)

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

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

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