java - Solr 日期范围存储帮助

标签 java php sql database solr

如何在 solr 中存储日期范围?

我需要存储开始日期和结束日期。

假设这是一个在一段时间内(开始和结束)出租的别墅。

我必须使用两个字段吗?

在搜索中,用户可能会选择开始日期和结束日期,所以在查询 solr 时,我想我可以使用类似的东西:

     date:[$start TO $end]

但这只查询一个字段,这很好,但存储日期范围是我的问题。

嗯嗯。

有什么帮助吗?

谢谢

最佳答案

是的,您需要两个字段。

查询将必须在两个字段上进行。

例子:

dateFrom:[$start TO $end] AND dateTo:[$start TO $end] 

这意味着对象的时间跨度必须完全落在您正在搜索的时间跨度内(例如,对象是 1950-1960,而您搜索的是 1900-2000)。

如果您只需要对象时间跨度的任何部分落在搜索的时间跨度内(在您的情况下这似乎很可能),例如:

dateFrom:[* TO $end] AND dateTo:[$start TO *]

即对象的时间跨度必须在搜索时间跨度结束之前开始,并且对象的时间跨度必须在搜索时间跨度开始之后结束。这将通过搜索 1950-1960 找到 1900-2000 年的对象。

关于java - Solr 日期范围存储帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2354898/

相关文章:

javascript - Ajax 请求 : get text from database and display in div

javascript - 更新 DOM 并发送当前时间

mysql - 如何在多对多表中选择与2个或更多数据有关系的数据

sql - 使用 Cases 选择 2 个表上的 UNION ALL

mysql - 将加密数据从MYSQL服务器迁移到Sql服务器

java - parking 场在矩阵中保存的内容不超过 1 行

java - 如何在 SQL 中按 block 进行分组?

java - 通过 TCP 发送大字符串(Java - PHP)

java - BeanProcessor 部分工作

java - 如何在 Spring boot 中从 Controller 覆盖 @JsonIninclude