SOLR旅游网站:关于日期查询

2023-11-30

我正在寻找为酒店预订网站实施 SOLR。根据位置、酒店名称、设施进行的搜索非常有效,分面也是如此。我不知道如何在给定入住和退房日期的情况下搜索酒店。

例如:用户将搜索搜索查询“纽约的酒店”,然后从日期选择框中选择入住日期:2012 年 2 月 10 日和退房日期:2012 年 2 月 12 日。

这就是我获取数据的方式 -

Hotel_Name 10thFeb2012    11thFEB2012 ........   31DEC2012
Hotel1      2room            3room                  10rooms
Hotel2      1room            4room    ........      12rooms

现在,如果查询的是从入住日期为 2012 年 2 月 10 日到 2012 年 2 月 11 日入住的 Hotel2 的 3 个房间,则它不会匹配,因为 2 月 10 日只有一间房间可用。 如果对 Hotel2 的查询是针对入住日期为 2012 年 2 月 10 日至 2012 年 2 月 11 日期间的 1 个房间,那么它应该是搜索结果的一部分。


Use the ISO 8601 格式为您的约会时间。

 Complete date plus hours, minutes, seconds and a decimal fraction of a second
 YYYY-MM-DDThh:mm:ss.sTZD (eg 1997-07-16T19:20:30.45Z)

您的数据库和 Solr 都会从符合该格式的字符串中理解日期时间。

So,

  1. 使用兼容的日期时间格式将数据存储在 DB 和 Solr 中。 (在我的脑海里,Solr 一定有一个Z附加到日期时间,否则无效)。
  2. 您的搜索界面必须将所有日期格式化为该格式才能查询 solr。

Solr 可以对日期进行条件表达式、分面、范围桶分面等。


我会采用以下模式:

hotel_name : string (for faceting)
hotel_name_searchable : text (for searching, this is a copy field:look it up)
room_id : string
start_date : date (when the room is availabe)
end_date : date (if not booked, set it to an infinite date, say 2040)

对于您跟踪的每个房间,存储其空闲的日期时间。 您可以搜索 start_date 和 end_date 之间的房间。

进行刻面处理hotel_name因此,您搜索房间“入住日期为 2012 年 2 月 10 日至 2012 年 2 月 11 日”会得到:

Hotel1:[r1,r2,r3]
Hotel2:[r8]
Hotel3:[r2,r3,r4]

刻面于hotel_name筛选到一家酒店,facet.mincount on room_id可以返回具有所需房间数量的酒店。

一点警告:我可能对分面有点生疏,因为我过去常常对 Solr 结果本身进行大量处理。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SOLR旅游网站:关于日期查询 的相关文章

  • solr 中的文本字段排序

    我正在使用 solr 3 4 并希望 solr 搜索结果在文本字段上排序 如何实现像 int 自然排序一样对文本字段进行排序 有没有办法在查询时将文本字段转换为int 我的排序字段是字符串类型 我希望它在排序时表现得像 int 字段 我无法
  • 另一个日期时间问题

    我目前有一个这种格式的日期 2010 03 03 10 39 18 这是一个TIMESTAMPMySQL 中的字段 我需要为名为 Solr 的搜索引擎提供以下格式的日期 1995 12 31T23 59 59Z 以下是他们网站上有关日期的一
  • Solr 4.0 中的 BaseTokenFilterFactory 去哪儿了?

    用于创建您自己的标记和字符过滤器的 Solr 文档说明如下 http wiki apache org solr AnalyzersTokenizersTokenFilters Specifying an Analyzer in the sc
  • apache solr:group by 产生的数据总和

    我们有一个要求 需要按特定字段对记录进行分组 并获取相应数字字段的总和 前任 select userid sum click count from user action group by userid 我们尝试使用 apache solr
  • Solr MoreLikeThis 不适用于多个分片?

    我在 SolrCloud 中有 5 个节点集群 每个节点有 2 个分片 Solr版本 6 3 0 现在 当我运行 mlt 查询时 它仅返回每个节点的结果 并且不会将它们分布在所有分片 节点上 即 没有给出任何结果 给出结果 我什至尝试将其指
  • Solr 您的意思是(拼写检查组件)

    我在我的应用程序中使用 solr 并集成了拼写检查组件 但我遇到了一些问题 第一的 当我输入一个用空格分隔的术语时 他们会给我每个术语的更正 Eg 水 gt 什么术语 但事实是watters 第二 当我输入一些带有错误术语的短语时 尽管其他
  • 我们可以同时使用拼音标记和同义词吗?

    我正在尝试同时启用语音分析器和同义词 这似乎不起作用 它们一起使用有错吗 在下面的实现中 我希望使用同义词转换搜索查询 然后使用语音分析器来检索结果 但我的同义词在这里完全被忽略了 如果我在创建索引时删除语音分析器 那么同义词就可以正常工作
  • Solrcloud Zookeper 设置:等待 4000ms 后未找到注册的领导者,集合:c1 切片:shard2

    我使用 solr 4 10 3 我通过 java 中的嵌入式 jetty 服务器启动 solr 我正在尝试使用 2 个分片 领导者 配置 solrcloud 我有一个外部动物园管理员设置 我在启动 solr 时指向动物园管理员实例 如下所示
  • 如何使用 lucene 查询找到空的 Solr 文档字段

    我有一些这样的文件
  • 在 Solr 中实现术语关联挖掘的最简单方法是什么?

    关联挖矿似乎为检索提供了良好的结果相关术语在文本语料库中 有很多关于这个主题的著作 其中包括著名的LSA http en wikipedia org wiki Latent semantic analysis方法 挖掘关联最直接的方法是构建
  • 用于标签搜索的数据存储解决方案

    我已经按照预先计算的分数订购了数百万件商品 每个项目都有许多布尔属性 假设总共有大约一万个可能的属性 每个项目有十几个 我希望能够请求实时 几毫秒 给定任意属性组合的前 n 个项目 您会推荐什么解决方案 我正在寻找可扩展性极强的东西 我们目
  • NoSQL(MongoDB)与 Lucene(或 Solr)作为数据库[关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 随着基于文档数据库的 NoSQL 运动的发展 我最近关注了 MongoDB 我注意到如何将项目视为 文档 就像 Lucene 以及 Solr 用
  • Solr 增量导入不起作用

    我使用的是solr 4 2 请注意 完全导入有效 但增量导入却无效 增量导入不会给出任何错误 但不会获取任何更改 这是数据配置文件
  • Solr 错误 - 流主体被禁用

    我正在从浏览器 URL 中删除文档 我正在使用 Solr 7 4 0 我正在使用此查询来删除文档 http localhost 8983 solr test update stream body
  • 有没有推荐的与 Lucene 或 Solr 一起使用的爬虫工具? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • Data-config.xml 和 mysql - 我只能加载“id”列

    我在 Windows Server 2012 上安装了 Solr 5 0 0 我想将表中的所有数据加载到 solr 引擎中 我的 data config xml 如下所示
  • 在 solr 的类路径中找不到资源“solrconfig.xml”

    problem 我无法访问 solr 管理页面 当我在本地系统上运行 url 时 response
  • 使用 dismax 处理程序进行通配符搜索?

    我已成功索引文件 并且希望能够使用通配符进行搜索 我目前正在使用 dismaxRequestHandler QueryType dismax 进行搜索 以便我可以搜索查询的所有字段 像 computer 这样的常规搜索会返回结果 但 com
  • 当 docvalues=true 时,小写过滤器工厂不起作用

    我正在尝试使用 Solr 实现不区分大小写的排序并面临这个问题 https stackoverflow com questions 31745713 solr case insensitive sort not working Copied
  • Solr 阿拉伯语

    我正在使用 Solr 来索引 3 种语言 阿拉伯语 法语和英语 的文档 我使用了这个 fieldType

随机推荐

  • Makefile c++11 支持

    我最近开始了一个 C 的小项目 我创建了一个简单的 Makefile CC g CFLAGS std c 0x I c VPATH src include vpath c src vpath h include TabooSearch ma
  • 如何在 Visual Studio 中连接到 MySQL 数据源

    我用MySQL 连接器 网络通过引用程序集 MySql Data dll 并传入连接字符串来连接到我的数据库MySqlConnection 我喜欢这样 因为我不需要安装任何东西 有没有办法在 Visual Studio 2010 中 选择数
  • 为什么我会遇到找不到类异常

    我在用DeferredTextImpl类和 eclipse 似乎没有抱怨它 但是当我运行我的项目时 我得到运行时异常 Class not found exception for DeferredTextImpl 当我搜索类文件时 我发现它在
  • 如何在 Objective C 中使用 AssetLibrary 检索视频的文件大小

    我想知道如何使用 AssetLibrary 检索视频的文件大小 有人能指出我正确的方向吗 或者可能有一些代码片段 这应该会让你走上正轨 看资产库框架参考 void logVideoSizes void assetEnumerator ALA
  • 为什么 xUnit Runner 找不到我的测试

    我有一个 xUnit net 测试如下 static class MyTestClass Fact static void MyTestMethod VS 2012 的 xUnit 插件说 没有发现可以运行的测试 TestDriven ne
  • ASP.NET MVC 中的 ELMAH 和异常管理

    我正在考虑从企业库中的异常管理应用程序块转移到新的 ASP NET MVC 站点 Scott Hansleman 在 ELMAH 上的帖子引起了我的注意 但我并不完全理解这种方法 通常 我会抑制一些异常 可恢复的异常 将它们记录在中央存储库
  • 在python中读取TDMS文件如何使用tdms info命令?

    我想知道Labview生成的tdms文件的内容是什么 按照此site 我用Python写 import numpy as np from nptdms import TdmsFile from nptdms import tdms read
  • 在外部网站上自动填写和提交表格

    我想知道一个人如何自动填写多个表格 使用bot local server 使用ajax或curl在外部站点 PHP 的多个页面上 例如一个网站www abc com index php有一个表格
  • 配置.vimrc时如何映射命令键?

    我使用 mac 我想配置 vimrc 例如 map
  • 模拟时间序列

    在最近的宏观经济预测在线课程中 有一个建模练习 y t 3 0 0 55 y t 1 e t where e t 定义为 et lt c 1 2138662 0 2854597 0 5902700 0 8285463 0 9954260 0
  • n 元函数的 Uncurry

    我有一个类型级别的数字 data Z deriving Typeable data S n deriving Typeable 和 n 元函数 来自固定向量包的代码 Type family for n ary functions type
  • 如何对 data.table 中的 .SD 列进行行明智操作

    虽然我之前已经弄清楚了这一点 但我仍然发现自己在 stackoverflow 上搜索 并且无法找到 这个语法 所以 我想对 data table 列的子集进行行明智操作 使用 SD and SDcols 我永远不记得手术是否需要sapply
  • Pandas 按组计算过去 n 天内发生的事件次数

    我有按 id 发生的事件表 如何计算过去 n 天内每种事件类型在当前行之前发生的次数 例如 事件列表如下 df pd DataFrame id 1 event day 2016 01 01 event type type1 id 1 eve
  • 将 lambda 参数传递给 include 语句

    我正在使用System Data Entity命名空间 因此我可以将 lambda 表达式传递给 Linq Include 方法 public ICollection
  • 容器绑定脚本尝试从侧边栏使用 google.script.run 运行函数时出现权限错误

    我尝试在电子表格上实现侧边栏 以获取用户输入以供我的脚本使用 我无法让它成功调用任何服务器端函数 我将谷歌文档中的一个简单脚本和我读过的几个 stackoverflow 问题放在一起 但我不断收到错误 它能够打印到控制台 但尝试调用时出错日
  • Eclipse 中的 Boost 链接错误

    我一直在尝试将 boost 的线程功能包含在 Ubuntu 上的 Eclipse C 项目中 但毫无结果 到目前为止的步骤 从 boost org 下载 boost configure with libraries system threa
  • 如何正确获取使用 flex-direction:column 显示的块的实际宽度?

    例如 HTML console log container width 600px as we defined in css console log list width 600px console log box eq 1 positio
  • read() 系统调用实际读取的数据量

    假设我有一个文件 其文件描述符在 EOF 之前剩余的字节数超过 n 个字节 并且我调用了 n 个字节的 read 系统调用 该函数是否保证将 n 个字节读入缓冲区 还是可以少读点 The read系统调用保证读取您所要求的尽可能多的字符 除
  • JS:循环遍历div列表以通过onclick添加事件?

    div test div div test div div test div 如果我有一个 div 列表 并且希望在单击每个 div 时将字体大小增加到 20px 我知道我可以执行以下操作 let elements document que
  • SOLR旅游网站:关于日期查询

    我正在寻找为酒店预订网站实施 SOLR 根据位置 酒店名称 设施进行的搜索非常有效 分面也是如此 我不知道如何在给定入住和退房日期的情况下搜索酒店 例如 用户将搜索搜索查询 纽约的酒店 然后从日期选择框中选择入住日期 2012 年 2 月