我正在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)
或类似