java - Lucene 7 的日期范围查询

标签 java lucene range-query

在旧的 Lucene 版本中,构建日期范围查询很容易:

query = NumericRangeQuery.newLongRange(name, startDate(null if not), endDate(null if not), includeStart, includeEnd);

我切换到 Lucene 7 (lucene-core 7.3.1),但找不到相应的查询类型可以接受我的日期作为 long(date.getTime()) :(

有人可以帮忙吗?我尝试了 TermRangeQuery 但它只将字符串作为构造函数参数。

谢谢

最佳答案

从 Lucene 7 开始,对旧数字的支持是 removed ,目的是您应该开始使用 Point 类型,即 introduced在 Lucene 6 中。

这意味着,现在它的预期用途应该类似于 this :

IntPoint.newRangeQuery(String field, int lowerValue, int upperValue)

关于java - Lucene 7 的日期范围查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54232918/

相关文章:

java - 无法启动 UI Automator 查看器

java - 如何打印循环中遇到的最大数字?

java - 具有异步数据库调用的 Dropwizard @UnitOfWork

java - 如何正确转义 lucene 查询?

java - Lucene WildcardQuery 无法正常工作

java - 如何在Spring Controller 中捕获JQuery $post?

search - 在 not_analyzed 字段上进行 Elasticsearch 通配符搜索

string - 为多个查询计算一个字符在字符串中出现的次数?

postgresql - DST 转换值的 tsrange 范围错误

elasticsearch - 范围和短语查询在 elasticsearch 中如何工作?