在 Solr DataImportHandler 中从 Oracle 日期获取正确时间

2024-04-09

我正在尝试使用 Solr 的 DataImportHandler 从 Oracle DB 中索引一些文档,除了将 Oracle Date 列正确读取到我的文档中之外,一切工作正常。

我的 Solr 架构中的字段定义为

<field name="release_date" type="date" indexed="true" stored="true" multiValued="false"/>

我首先尝试在 DataImportHandler 中仅执行日期列的基本选择语句,但所有日期都使用不正确的时间值进行索引。例如,数据库中的日期为 2004 年 1 月 12 日上午 09:28(美国东部标准时间),其索引为:

<date name="release_date">2004-01-12T05:00:00Z</date>

所有日期值都有正确的日期,但它们的时间都是 T05:00:00Z。我对正在发生的情况的最佳猜测是,它从数据库读取时间为午夜并将其转换为 UTC。如果是这种情况,我希望正确的值是 T14:28:00Z。

为什么它不获取数据库列的时间部分?我知道有一个日期转换器 http://wiki.apache.org/solr/DataImportHandler#DateFormatTransformer这是 DIH 附带的,但我不太清楚它是如何工作的。我也尝试过做

<field column="RELEASE_DATE" name="release_date" dateTimeFormat="yyyy-MM-dd'T'hh:mm:ss'Z'" /> 

在 DIH 中,但这似乎并没有改变任何事情。


这是与最后一个答案一起使用的完整代码(为了更加清晰)。

在 data-config.xml 文件中从数据库读取日期并转换为时间戳:

select cast(STRT_DT as timestamp) as STRT_DTTS from DATES

放入 DataImportHandler 实体中,如下所示:

<entity name="startDate" transformer="script:startDateTransform"
        query="select cast(STRT_DT as timestamp) as STRT_DTTS from DATES" >
    <field column="STRT_DTTS" name="STRT_DT" /> 
</entity>

此查询将返回 oracle.sql.TIMESTAMP,但它不会直接映射到日期。因此需要一个脚本转换器。因此我们介绍script:startDateTransform。在同一个 data-config.xml 中,您可以像这样插入 JavaScript:

function startDateTransform(row){
    // Get the timestamp and convert it to a date
    var dateVal = row.get("STRT_DTTS").dateValue();

    // Put the correct date object into the original column
    row.put("STRT_DTTS", dateVal);

    return row;
}

在这里,我们将时间戳转换为日期,更新列值并返回包含新信息的行。

STRT_DT:

<field column="STRT_DTTS" name="STRT_DT" />

现在应该包含正确的日期。

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

在 Solr DataImportHandler 中从 Oracle 日期获取正确时间 的相关文章

  • ListView:防止视图回收

    我有一个使用回收视图的 ListView 我试图阻止视图被回收 所以我使用 setHasTransientState android support v4 view ViewCompatJB setHasTransientState Vie
  • 使用 Eclipse 将具有外部依赖项的 Java 项目导出到 jar

    有没有一种简单的方法可以将 Java 项目 包括其所有外部依赖项 导出到标准 jar 文件 我开发了一个使用多个 Apache 库的 SDK 我希望能够将该项目作为单个 jar 发布 到目前为止我找到的这个问题的答案要求将项目打包为 Run
  • 最终字段可能尚未/已经初始化[重复]

    这个问题在这里已经有答案了 可能的重复 如何处理抛出检查异常的静态最终字段初始值设定项 https stackoverflow com questions 1866770 how to handle a static final field
  • 探索java图像处理的好资源[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我是图像处理领域的新手 请推荐一些好的资源 书籍和网络链接 来学习 Java 中的图像处理 最适合隐写术分析 适合初学者和高级水平 我看过
  • 如何添加 Java 正则表达式实现中缺少的功能?

    我是 Java 新手 作为一名 Net 开发人员 我非常习惯Regex Net 中的类 Java 实现Regex 正则表达式 还不错 但它缺少一些关键功能 我想为 Java 创建自己的帮助器类 但我想也许已经有一个可用的了 那么 是否有任何
  • ORA-04061: 包体“PACKAGE.NAME”的现有状态已失效,但仍然存在

    在我正在处理的一个 Oracle 数据库实例上 我在重新编译包时观察到与正常行为不同的行为 通常 如所讨论的Oracle 中频繁出现错误 ORA 04068 包的现有状态已被丢弃 https stackoverflow com questi
  • 限制 JPQL 中的结果数量

    如何限制从数据库检索结果的数量 select e from Entity e I need only 10 results for instance 您可以尝试像这样给出 10 个要显式获取的结果 entityManager createQ
  • 如何修复maven错误JAVA_HOME环境变量未正确定义

    当我在虚拟环境中检查maven的版本时 出现以下错误 The JAVA HOME environment variable is not defined correctly This environment variable is need
  • Hazelcast:连接到远程集群

    我们有一组 Hazelcast 节点 全部运行在一个远程系统 具有许多节点的单个物理系统 上 我们希望从外部客户端连接到该集群 一个 Java 应用程序 它使用如下代码连接到 Hazelcast ClientConfig clientCon
  • JPA 的 Hibernate 查询提示

    我一直在尝试为所有可以通过设置的提示找到一个明确的资源Query setHint String Object JPA 中的方法调用 但我一无所获 有人知道一个好的参考吗 See 3 4 1 7 查询提示 http docs jboss or
  • 如何将测试类打包到jar中而不运行它们?

    我正在努力将我的测试类包含到 jar 包中 但不运行它们 经过一番谷歌搜索后 我尝试过mvn package DskipTests 但我的测试类根本没有添加到 jar 中 有任何想法吗 如果您遵循 Maven 约定 那么您的测试类位于src
  • 默认情况下,JSF 生成不可用的 ID,这些 ID 与 Web 标准的 CSS 部分不兼容

    活跃的 JSF 或 Primefaces 用户能否解释一下为什么默认情况下会发生这种情况 为什么没有人对此采取任何措施
  • SDK尚未初始化,请务必先调用FacebookSdk.sdkInitialize()

    我在实现 Facebook SDK 时遇到此错误 并且我tried https stackoverflow com questions 15490399 error inflating class com facebook widget l
  • 在片段之间切换时底部导航栏会向下推

    在我的活动中 我有一个底部导航栏和框架布局来显示片段 一切正常 但问题是当我开始按顺序从 1 4 移动时 底部导航栏保持在其位置 但当我突然从 4 跳到2 然后底部导航栏就会超出屏幕 当再次单击同一项目时 它就会回到正常位置 该视频将清楚地
  • 从特定 JAR 文件读取资源(文件的重复路径)

    假设您有 jar1 和artifactId 动物园 jar2 和artifactId 动物 两个 jar 都有一个具有相同路径的资源文件 例如 animals animal txt 有什么方法可以从特定的 jar 中读取该文件吗 使用 ge
  • 动态创建 JSON 对象

    我正在尝试使用以下格式创建 JSON 对象 tableID 1 price 53 payment cash quantity 3 products ID 1 quantity 1 ID 3 quantity 2 我知道如何使用 JSONOb
  • 如何在apache POI中读取excel文件的准确单元格内容

    当我读取单元格的内容时 例如如果它是日期格式 它会转换为另一个值 例如 12 31 2099 gt 46052 和 50 00 gt 50 和 50 00 gt 0 5 但我想要的是获取每个单元格的确切字符串值 我的代码是这样的 cell
  • AES 密钥是随机的吗?

    AES 密钥可以通过此代码生成 KeyGenerator kgen KeyGenerator getInstance AES kgen init 128 but 如果我有一个 非常可靠 的生成随机数的方法 我可以这样使用它吗 SecureR
  • Swing:创建可拖动组件...?

    我在网上搜索了可拖动 Swing 组件的示例 但我发现示例不完整或不起作用 我需要的是一个摇摆组件那可以是dragged通过鼠标 在另一个组件内 被拖拽的时候 应该已经 改变它的位置 而不仅仅是 跳 到目的地 我很欣赏无需非标准 API 即
  • 在 for 循环比较中使用集合大小

    Java 中 Collections 的 size 方法是否有编译器优化 考虑以下代码 for int i 0 i

随机推荐

  • 无法使用 CSS 重置更改正文背景颜色

    这是我的 HTML 代码
  • 当我的主数据库不可用时,Azure 如何通知我?

    我已为我的主 Sql Azure 数据库设置了主动异地复制 如何通知我由于数据中心问题我的主数据库不可用 以便我可以开始应用程序故障转移过程 另外 流量管理器如何通知故障转移事件 在大多数大规模中断中 您的应用程序连接都会受到影响 因此它可
  • Delphi7,创建组合框项

    我想使用组合框为用户提供多种选项 所以有2个组合框 第一个大约有 5 个选项 第二个项目将根据用户在第一个组合框中选择的内容创建 到目前为止 我已经尝试过 Combobox2 Items Strings 1 xxxx 这让我出现这个错误 L
  • 如果复制列表初始化允许显式构造函数,可能会出现什么问题?

    在 C 标准 13 3 1 7 over match list 中 有以下规定 在复制列表初始化中 如果explicit选择了构造函数 初始化格式错误 这就是为什么我们不能做这样的事情的原因 struct foo explicit beca
  • 如何在 UIImageView 之上添加交互式 UILabels?

    我需要在上面添加一些标签UIImageView 可以通过点击标签来更改标签的文本 实现这一目标的最佳方法是什么 我正在使用 Swift 编程语言 在 stackoverflow 上查找一些解决方案 我发现了一些使用的演练String dra
  • 从哪里可以获得最新的 ANSI C 标准文档 [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 在哪里可以找到最新的 ANSI C
  • Nginx 自定义 PHP error_pages 具有不同的标头状态代码和正文内容

    使用 Nginx 0 8 54 我设置 PHP 错误页面来对某些链接进行重定向 对其他链接进行 404 重定向并显示自定义 HTML 正文 nginx server error page 404 err error php error 40
  • Mercurial Hook - 更改提交前的提交消息

    Edit制作这个基本钩子是为了防止分支名称和提交消息 bugID 不匹配 https gist github com 2583189 https gist github com 2583189 所以基本上的想法是 如果分支名称类似于 bug
  • SQL Server 2016 SSMS Json 格式

    我正在 SQL Server 2016 的 SSMS 中使用 JSON 有没有办法解决 FOR JSON 语句的结果显示为 XML 列的问题 是否有任何设置更改 附加组件 外部工具等 甚至黑客可以减轻这种痛苦 在我的理想世界中 单击 JSO
  • 如何确定 HBase 表的大小?有什么命令可以这样做吗?

    我的 Hbase shell 上有多个表 我想将它们复制到我的文件系统上 有些表超过 100GB 但是 我的本地文件系统中只剩下 55GB 可用空间 因此 我想知道 hbase 表的大小 以便我可以仅导出小尺寸的表 任何建议表示赞赏 谢谢
  • css 星级 html

    我正在关注此页面上的教程 http www henryhoffman com css star rating tutorial html http www henryhoffman com css star rating tutorial
  • GWT序列化问题

    我在返回一个通过 RPC 实现 IsSerialized 的对象的 ArrayList 时遇到了很大的麻烦 IsSerialized pojo 包含一个变量 一个字符串 并具有一个 0 参数构造函数 我已经从我的战争中删除了 gwt rpc
  • NSAttributedString initWithData:options:documentAttributes:error: 非常慢

    我使用这些代码行从简单的 HTML 字符串创建属性字符串 NSDictionary importParams NSDocumentTypeDocumentAttribute NSHTMLTextDocumentType NSCharacte
  • 名为 isActive 的布尔变量的 setter

    我的 pojo 类中有一个名为 isActive 的属性 当我使用 Eclipse IDE 生成此属性的访问器时 它会生成以下 getter 和 setter Getter isActive Setter setActive 但是 当我尝试
  • 选择当前单词的多个实例并更改它们的 vim 方法是什么?

    任何熟悉 Sublime Text 的多光标功能的人都会认识到执行以下操作的模式 多次按热键以选择光标下单词的多个实例 并自动为每个实例创建一个新光标 然后同时编辑每个实例 例如通过用另一个单词或任何您想要的单词替换当前单词 vim 可以通
  • 使 div 不自动拉伸到容器宽度

    我的问题很简单 您能否阻止 div 自动拉伸到其包含元素的宽度 并使其仅水平拉伸到其内部内容所强制的程度 有点像 div 的默认垂直行为 但水平应用 这可能吗 你必须设置display财产给inline block div style di
  • 通过复制另一个 pdf 中的数据来创建新 pdf

    我有一个 pdf 文件 其中包含一些内容 它实际上是一个模板 我已设法从 pdf 中读取内容并根据要求进行更改并将其保存在字符串变量中 现在我必须创建一个新的 pdf 文件 该文件将进行更改 并且初始模板文件不会更改 为了提高透明度 我附上
  • 如何分叉 monorepo 的一部分并且仍然能够合并上游提交?

    Sometimes I find monorepo https github com babel babel blob master doc design monorepo md on GitHub that consists of mul
  • Str::slug 替代印地语和阿拉伯语字符串?

    I use Str slug但是 要生成友好的 URLStr slug 方法返回null在阿拉伯语和印地语字符串上 可能还有中文 日文 韩文和那些字符集 例如 return Str slug null 我怎样才能有效地解决这个问题 我在使用
  • 在 Solr DataImportHandler 中从 Oracle 日期获取正确时间

    我正在尝试使用 Solr 的 DataImportHandler 从 Oracle DB 中索引一些文档 除了将 Oracle Date 列正确读取到我的文档中之外 一切工作正常 我的 Solr 架构中的字段定义为