如何处理 Hibernate-Search 索引恢复?

2023-12-21

当应用程序服务器意外退出时,Hibernate Search 无法正常关闭 Lucene。离开写锁每个索引目录后面的文件。这当然是很正常的事情。但是 - 重新启动应用程序后,锁定文件也会保留。这会导致某些时候出现锁超时异常。

我的问题是是否有一种通常的方法来处理恢复。

首先想到的是检查 write.lock 文件是否存在。如果找到,它们将被删除并重建所有索引。但也许 Hibernate-Search 在正确配置后会自动执行此操作?


如果 Hibernate Search 要在启动时删除锁定文件,并且您错误地将两个应用程序配置为在同一索引上运行,则可能会面临破坏索引的风险。因此,不删除锁定文件是锁定的目的。

尽管如此,我们意识到这很烦人:如果您可以使用 Native LockFactory (http://docs.jboss.org/hibernate/search/4.1/reference/en-US/html_single/#search-configuration-directory-lockfactories http://docs.jboss.org/hibernate/search/4.1/reference/en-US/html_single/#search-configuration-directory-lockfactories) 即使是崩溃/终止的 JVM 也会释放锁定文件。

如果升级到最新版本,如果检测到的平台被认为足够安全,则默认使用 Native。

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

如何处理 Hibernate-Search 索引恢复? 的相关文章

  • 索引的最大大小/文档数量是多少 - 32 位操作系统上的 java lucene 3.0.2

    我正在使用 lucene 和 40GB 的数据 500M 的元组 2 个字段的行为类似于键值 我创建了一个 35 GB 的索引 但它不起作用 因此 我想创建一组较小的索引 但为此 我需要有关最大尺寸的信息 你使用什么文件系统 您绝对确定已创
  • 如何查找相似文档

    如何在 Lucene 中找到给定文档的相似文档 我不知道文本是什么 我只知道文档是什么 有没有办法在lucene中找到类似的文档 我是新手 所以我可能需要一些指导 你可能想检查 lucene 的 MoreLikeThis 功能 MoreLi
  • IntPoint 没有索引整数值

    当我们尝试使用字段类型 IntPoint 对整数值进行索引时 这些值似乎没有正确传输到我们的 Lucene 索引中 我们正在使用 Lucene 6 0 根据 Lucene 文档的代码片段 doc add new IntPoint LENGT
  • 仅根据lucene中term出现次数较多的文档来计算分数

    我开始研究基于 lucene net 引擎的简历检索 文档 组件 它工作得很好 它会获取文档并根据 VSM 背后的理念是 查询词出现在 a 中的次数 文档相对于数量 该术语出现在所有 集合中的文档越多 该文件的相关内容是 询问 Lucene
  • 每个领域都有不同的分析仪

    如何为使用 Lucene 索引的文档中的每个字段启用不同的分析器 例子 RAMDirectory dir new RAMDirectory IndexWriter iw new IndexWriter dir new StandardAna
  • Lucene 上打开的文件太多错误

    我正在进行的项目是对一定数量的数据 长文本 建立索引 并将它们与每个时间间隔 大约 15 到 30 分钟 的单词列表进行比较 一段时间后 比如说第 35 轮 在开始索引第 36 轮的新数据集时 发生了此错误 ERROR 2011 06 01
  • 本地/离线网站“站点”的全文搜索[重复]

    这个问题在这里已经有答案了 可能的重复 通过 javascript 对 CD Rom 上的静态 HTML 文件进行全文搜索 https stackoverflow com questions 1357173 full text search
  • 了解elasticsearch如何在内部存储日期

    我想了解 ES 如何在其索引内部存储日期值 它会转换为 UTC 吗 我有一个日期类型的字段 t 这是映射 t type date 现在 当我向 ES 插入 添加文档时 它如何存储在索引中 t 1427700477165 从 Date now
  • 如何判断lucene索引版本?

    我正在编写一个 shell 脚本 csh 它必须确定 lucene 索引版本 然后根据该版本将索引升级到下一个版本 所以 如果 lucene 索引是 2 x 我必须将索引升级到 3 x 最后索引需要升级到6 x 由于升级索引是一个顺序过程
  • Solr MoreLikeThis 不适用于多个分片?

    我在 SolrCloud 中有 5 个节点集群 每个节点有 2 个分片 Solr版本 6 3 0 现在 当我运行 mlt 查询时 它仅返回每个节点的结果 并且不会将它们分布在所有分片 节点上 即 没有给出任何结果 给出结果 我什至尝试将其指
  • 需要在 java api 中的 Solr 搜索中搜索文本及其周围的几行

    我正在使用 solr 7 7 2 并且我使用 solrj 在 Solr 中编写了一个 Java 程序 该程序在一个巨大的文本文件中搜索单词 我使用以下代码来显示代表整个文本的搜索结果 SolrQuery params new SolrQue
  • openNLP 与 Solr 集成时出现异常

    我正在尝试将 openNLP 与 Solr 6 1 0 集成 我配置了架构和 solrconfig 文件 详细信息请参见 wiki 链接 https wiki apache org solr OpenNLP https wiki apach
  • 我们可以同时使用拼音标记和同义词吗?

    我正在尝试同时启用语音分析器和同义词 这似乎不起作用 它们一起使用有错吗 在下面的实现中 我希望使用同义词转换搜索查询 然后使用语音分析器来检索结果 但我的同义词在这里完全被忽略了 如果我在创建索引时删除语音分析器 那么同义词就可以正常工作
  • MultiFieldQueryParser 正在从首字母缩略词中删除点

    我再次发布这个问题 因为我的查询没有得到答复 我正在使用 Lucene 开发图书搜索 api 用户可以搜索标题或描述字段包含 C F A 的书籍 我正在使用 StandardAnalyzer 以及停用词列表 我使用 MultiFieldQu
  • 当我使用完成建议器时,如何获得没有重复的独特建议?

    我在我的环境中使用弹性 5 1 1 我在字段名称上选择了完成建议器post hashtags带有一个字符串数组来提供建议 我收到前缀 inv 的响应如下 Req POST hashtag search pretty filter path
  • Elasticsearch:带有停用词消除功能的带状疱疹

    我正在尝试实现一个 Elasticsearch 映射来优化大量文本中的短语搜索 根据中的建议本文 http www elasticsearch org blog searching with shingles 我使用 shingle 过滤器
  • 如何使用 owasp antisamy 不将特殊字符转换为 html 实体

    我使用 Owasp Anti samy 和 Ebay 策略文件来防止我的网站受到 XSS 攻击 我还使用 Hibernate 搜索来索引我的对象 当我使用这段代码时 String html special word t use the Eb
  • 如何删除 Hibernate Search 中的所有重复结果?

    我正在使用 Infinispan 6 0 2 和 Hibernate Search 4 4 0 一开始 在我执行类似的查询之后 CacheQuery cq SearchManager getQuery query Hibernate cla
  • 在休眠搜索中使用现有分析器AnalyzerDiscriminator

    Entity Indexed AnalyzerDefs AnalyzerDef name en tokenizer TokenizerDef factory StandardTokenizerFactory class filters To
  • Elasticsearch 查询时间增加会产生顺序不足的结果

    给定搜索关键字的 ES 搜索结果one two three申请后好像出错了boost每个关键字的功能 请帮助我修改我的 错误 查询 以实现下面我所描述的 预期结果 我在ES1 7 4与卢塞恩4 10 4 提升标准 three 被认为是最重要

随机推荐