Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Hibernate搜索带有日期属性的多字段QueryParser_Java_Date_Lucene_Hibernate Search - Fatal编程技术网

Java Hibernate搜索带有日期属性的多字段QueryParser

Java Hibernate搜索带有日期属性的多字段QueryParser,java,date,lucene,hibernate-search,Java,Date,Lucene,Hibernate Search,我从Hibernate Search 4.4升级到5.3,并成功地迁移了中的所有问题,但在使用MultiFieldQueryParser时遇到了以下有关日期属性的错误 org.hibernate.search.exception.SearchException: HSEARCH000233: The specified query '+(dateField:value)' contains a string based sub query which targets the numeric en

我从Hibernate Search 4.4升级到5.3,并成功地迁移了中的所有问题,但在使用
MultiFieldQueryParser
时遇到了以下有关日期属性的错误

org.hibernate.search.exception.SearchException: HSEARCH000233: The specified query '+(dateField:value)' contains a string based sub query which targets the numeric encoded field(s) 'myDate'. Check your query or try limiting the targeted entities.
我的约会酒店相当标准

@Column(name = "my_date")
@Temporal(TemporalType.TIMESTAMP)
@Field
@DateBridge(resolution = org.hibernate.search.annotations.Resolution.DAY)
private Date myDate;
版本

  • 冬眠4.3
  • HibernateSearch5.3
  • 必须为
    org.apache.lucene.queryparser.classic.multifielddqueryparser
    显式导入(maven)
    org.apache.lucene.lucene queryparser
    (4.10.4)
还发现有关日期值的此问题(),不确定是否相关

我是否在
myDate
声明中遗漏了什么


编辑:错过了一个迁移要求-请参阅下面我的答案。

事实证明,我错过了一个迁移要求:默认情况下,在HS 5中,enconding设置为数值

设置
编码
以模拟以前版本中的行为修复了此问题

@Column(name = "my_date")
@Temporal(TemporalType.TIMESTAMP)
@Field
@DateBridge(resolution = org.hibernate.search.annotations.Resolution.DAY, encoding = EncodingType.STRING)
private Date myDate;