我正在Infinispan中使用Hibernate Search 4.4.0。我正在尝试搜索插入文档的日期。而且我已将日期保存为String类型。

这是我班上日期的定义:

private String ins = Constants.dateFormat.format(new Date());


而且dateFormat是:

SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");


现在,我将该字段映射为:

mapping.entity(Entity.class)
   .property("ins", ElementType.FIELD).field().analyze(Analyze.NO);


我已验证缓存中是否存在日期属性为2012-09-17 14:28:32.0的对象。但是当我使用查询时:

Query query = queryBuilder.keyword().onField("ins").matching("2012-09-17").creatQuery();


在缓存中搜索,没有结果。

有什么我搞砸的吗?

最佳答案

我不是Hibernate Search的专家,但我认为



.analyze(Analyze.NO)



你应该写



.analyze(Analyze.NOT_TOKENIZED)



或类似

09-16 07:17