索引后文件被锁定

2024-05-18

我的(网络)应用程序中有以下工作流程:

  • 从存档下载 pdf 文件
  • 索引文件
  • 删除文件

我的问题是,对文件进行索引后,它仍然处于锁定状态,并且删除部分会引发异常。

这是我用于索引文件的代码片段:

try
{
   ContentStreamUpdateRequest req = new ContentStreamUpdateRequest("/update/extract");
   req.addFile(file, type);
   req.setAction(AbstractUpdateRequest.ACTION.COMMIT, true, true);

   NamedList<Object> result = server.request(req);

   Assert.assertEquals(0, ((NamedList<?>) result.get("responseHeader")).get("status"));
}

我错过了什么吗?

EDIT:

我也尝试过这种方法,但结果相同......

ContentStream contentStream = null;

    try
    {
      contentStream = new ContentStreamBase.FileStream(document);

      ContentStreamUpdateRequest req = new ContentStreamUpdateRequest(UPDATE_EXTRACT_REQUEST);
//      req.addFile(document, context.getProperty(FTSConstants.CONTENT_TYPE_APPLICATION_PDF));
      req.addContentStream(contentStream);
      req.setAction(AbstractUpdateRequest.ACTION.COMMIT, true, true);

      NamedList<Object> result = server.request(req);

      if (!((NamedList<?>) result.get("responseHeader")).get("status").equals(0))
      {
        throw new IDSystemException(LOG, "Document could not be indexed. Status returned: " +
                                         ((NamedList<?>) result.get("responseHeader")).get("status"));
      }
    }
    catch (FileNotFoundException fnfe)
    {
      throw new IDSystemException(LOG, fnfe.getMessage(), fnfe);
    }
    catch (IOException ioe)
    {
      throw new IDSystemException(LOG, ioe.getMessage(), ioe);
    }
    catch (SolrServerException sse)
    {
      throw new IDSystemException(LOG, sse.getMessage(), sse);
    }
    finally
    {
      try
      {
        if(contentStream != null && contentStream.getStream() != null)
        {
          contentStream.getStream().close();
        }
      }
      catch (IOException ioe)
      {
        throw new IDSystemException(LOG, ioe.getMessage(), ioe);
      }
    }

这看起来像是一个错误,

这里提出了一个补丁https://issues.apache.org/jira/browse/SOLR-1744 https://issues.apache.org/jira/browse/SOLR-1744

还结帐http://lucene.472066.n3.nabble.com/ContentStreamUpdateRequest-addFile-fails-to-close-Stream-td485429.html http://lucene.472066.n3.nabble.com/ContentStreamUpdateRequest-addFile-fails-to-close-Stream-td485429.html

您可以检查流是否不为空并关闭它。

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

索引后文件被锁定 的相关文章

  • 如何获取 Solr 中最后一个索引记录?

    我想知道如何获取 搜索 Apache Solr 中的最后一个索引记录 当现有记录更新时 它会转到所有记录的末尾 所以我想获取最后一个索引记录 thanks 您可以将 时间戳 字段添加到 Solr 架构中 该字段在添加时将当前日期 时间放入记
  • 如何使用 Spring Data Solr 实现多核和存储库的自定义 Solr 存储库

    我想使用 spring data solr 在一项服务中访问多个 2 个存储库 从Spring Data Solr 多核和存储库我知道 不幸的是 通过命名空间配置的多核支持是一个悬而未决的问题 您能帮我看一下以下示例吗 如何创建自定义存储库
  • Solrj 从 Android 索引文档

    我正在尝试使用 Android 应用程序中的 Solrj 来索引文档 但它似乎不起作用 我关注这个LINK 这是我正在编写的代码 package com example secondapp import android app Activi
  • 无法使用solr4配置Tika1.2

    我正在尝试使用 TikaEntityProcessor 来索引 html 文件内容 不知怎的 我无法正确地得到它 我检查了错误日志并收到以下错误 SEVERE Full Import failed java lang RuntimeExce
  • SolrJ 线程安全

    我在 Web 应用程序中使用 CommonsHttpSolrServer 在多个请求中重用 CommonsHttpSolrServer 是否安全 还是应该为每个请求实例化一个新对象 无法在 API 文档中找到答案 根据文档 http wik
  • Solr 不会覆盖 - 重复的 uniqueKey 条目

    我的 Solr 5 3 1 有问题 我的架构相当简单 我有一个 uniqueKey 它是字符串形式的 id 索引 存储和必需 非多值 我首先添加 内容类型 文档未完成 的文档 然后覆盖同一个文档 具有相同的 id 但有另一个 content
  • 使用 Solrj 调用 Solr Scheme API

    基于文档https cwiki apache org confluence display solr Schema API https cwiki apache org confluence display solr Schema API
  • Apache Tika 无法正确检测 MIME 类型

    我试图在使用inn上传文件时检测文件类型Apache Tika如下所示 static final List
  • 使用 pdfbox 解析文件内容时使用后备字体 - 会导致错误吗?

    我正在使用 Apache Tika 1 14 它使用 pdfbox 2 0 3 我用它来提取文件的文本内容 在生产模式下 当处理许多文件时 我会记录许多如下语句 WARN o a p pdmodel font PDTrueTypeFont
  • 向 Apache Tika 添加语言配置文件

    请任何成功做到这一点的人解释一下如何做到这一点 我是否需要获取我需要添加的语言的 n gram 文件 是创造的问题吗tika language override properties 添加一些其他 lang 代码并在 classPath 上
  • 在 Linux 上将 MSword 转换为 XML/HTML

    我需要将 MSWord 文件转换为 XML 或 HTML 同时保留文件的结构 主要是表格 我偶然发现了tika 它在从MSword文件 和任何文件 中提取文本方面非常强大 如下 curl www vit org downloads doc
  • 使用 solrj 作为客户端从 Solr 中删除索引

    我使用 solrj 作为客户端来索引 solr 服务器上的文档 我在从 solr 服务器中按 id 删除索引时遇到问题 我正在使用以下代码来删除索引 server deleteById id 20 server commit true tr
  • 如何以树(多维数组)的形式存储和检索 Apache Solr 字段?

    我需要将结果存储和检索为多维树 而不是平面 键 gt 值 对 让我用一个例子来解释 我有很多类别的产品 每个类别都有一个优先级值 样本结构 name Sample Product categories category Category 1
  • java.lang.IllegalArgumentException:协议= http主机= null

    对于这个链接这段代码不起作用 但如果我添加另一个例如 https www google com https www google com一切都好 URL url new URL http bits blogs nytimes com 201
  • Solr/Solrj:如何确定索引中的文档总数?

    如何使用 Solrj 确定 Solr 索引中的文档总数 经过我自己几个小时的搜索 我实际上有了答案 如下所示 我只是发布这个问题 以便其他人可以更轻松地找到解决方案 这是我正在使用的 这是规范的吗 有没有更好的办法 SolrQuery q
  • Solr 复制和 Solr 云有什么区别?

    我支持 Rails 项目 其中包含 Rails 应用程序和 Solr 的附加实例 我的环境 rails 3 2 1 ruby 2 1 2 sunspot 2 1 0 Solr 4 1 6 Problem 云提供商不稳定 我不能使用其他云提供
  • Solr 中缺少强制 uniquekey 字段错误

    我的项目中有这个问题 我使用 Apache Poi 读取 xlsx excel 文件 并且想在 Solr 核心中对它们进行索引 我使用 SolrInputDocument 来索引读取文件 这是我的java代码 package org sol
  • 如何根据特定字段对 solr 查询的前 100 个结果进行排序?

    我想使用特定字段对 solr 的前 100 个文档进行排序 但它对整个结果集进行排序 然后显示结果 以下是我的代码 query1 setQuery Natural Language query1 setStart 0 query1 setR
  • 是否可以使用 Apache Tika 提取表信息?

    我正在寻找 pdf 和 MS Office 文档格式的解析器 以从文件中提取表格信息 当我看到 Apache Tika 时 正在考虑编写单独的实现 我能够从任何这些文件格式中提取全文 但我的要求是提取表格数据 我希望有 2 列采用键值格式
  • 如何使用python从文件夹中的pdf中提取文本并将其保存在数据框中?

    我有很多文件夹 每个文件夹都有几个 pdf 文件 也有其他文件类型 如 xlsx 或 doc 我的目标是提取每个文件夹的pdf文本并创建一个数据框 其中每条记录都是 文件夹名称 每列以字符串形式表示该文件夹中每个pdf文件的文本内容 我设法

随机推荐

  • 电话输入自动填充会删除国际前缀

    我有一个类型为 tel 的输入字段 并启用了自动完成功能
  • 使用 API 访问 Soundcloud 图表

    有没有办法访问新图表https soundcloud com charts top https soundcloud com charts top 前 50 名 使用 soundcloud api 或者还有其他方法吗 也许用 php 爬行什
  • PostgreSQL - 致命:用户“myuser”身份验证失败[关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我刚刚在我的 Ubuntu Box 中安装了 PostGreSQL 我想做的第一件事就是创建一个数据库 我读了文档 http www postgres
  • HTML 代码中的 PHP [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我用 HTML 代码编写了 PHP div div 但这出现在输出页面中 else print 我怎样才能让PHP执行 你的文件有一个 p
  • 如何使用 window.onerror 捕获所有 javascript 错误? (包括道场)

    这个问题是后续问题javascript 如何在弹出警报中显示脚本错误 https stackoverflow com questions 2604976 javascript how to display script errors in
  • 如何将图像和 POST 数据上传到 Azure 移动服务 ApiController 终结点?

    我正在尝试上传图片and POST表单数据 尽管理想情况下我希望它是json 到我的端点Azure 移动服务应用 我有ApiController method HttpPost Route api upload databaseId sea
  • 当实体的主键之间存在关系时,必须在调用 save() 之前手动分配此类的 ids

    我有两个实体 我想在它们之间创建一个关系 以便它们共享它们的主键 当我们提交一个实体时 另一个实体也应该使用为第一个实体生成的相同主键来提交 我的第一个实体是用户 Entity Table name ENDUSER public class
  • Activity 类型中的方法 showDialog(int) 在 Android 中已被弃用?

    方法showDialog int 从类型Activity is 已弃用 什么原因 以及如何解决 什么原因 http developer android com reference android app Activity html show
  • 模板中带有 ng-if 的 angularjs 指令

    我正在构建一个在模板内使用 ng if 的指令 奇怪的是 提供给链接函数的元素没有扩展ng if代码 它只是ng if的注释行 经过一番尝试 我发现通过将链接代码包装在 timeout 中似乎可以使其正常工作 但我想知道这是否不是正确的处理
  • Nginx docker容器代理传递到另一个端口

    我想在 docker 容器中运行 Nginx 它监听端口 80 并且当 url 以 word 开头时 我希望它 proxy pass 到端口 8080api 我有一些网络应用程序侦听端口 8080 这在没有 docker 的情况下对我来说一
  • C#:如何防止主窗体过早显示

    在我的 main 方法中 我像往常一样启动主窗体 Application EnableVisualStyles Application SetCompatibleTextRenderingDefault false Application
  • Bigquery - 选择时间戳作为人类可读的日期时间

    如何在 Google Bigquery 中选择时间戳 存储为秒 作为人类可读的日期时间 schema id STRING signup date TIMESTAMP 我使用编写了一个查询DATE功能 但出现错误 SELECT DATE cr
  • 使用多个值过滤 JFX TableView

    我目前正在尝试过滤我的数据TableView using FilteredList with predicate 我有2个ComboBoxes来过滤值 我的表包含Result Each Result has a Student that S
  • 如何在Java媒体框架中学习.wav持续时间?

    我正在尝试使用 java 媒体框架将 mov 文件与 wav 文件合并 因此我需要知道它们的持续时间 我怎样才能做到这一点 任何想法 将不胜感激 您可以使用以下方式了解声音文件的持续时间 即 VitalyVal 的第二种方式 import
  • 将目录压缩为单个文件的方法有哪些

    不知道怎么问 所以我会解释一下情况 我需要存储一些压缩文件 最初的想法是创建一个文件夹并存储所需数量的压缩文件 并创建一个文件来保存有关每个压缩文件的数据 但是 我不被允许创建许多文件 只能有一个 我决定创建一个压缩文件 其中包含有关进一步
  • Excel:#CALC!使用 MAP 函数计算间隔重叠时出现错误(嵌套数组)

    我正在努力解决以下公式 它适用于某些情况 但不适用于所有情况 名字input有失败的数据集 得到一个 CALC 描述 嵌套数组 错误 LET input N1 0 0 N1 0 10 N1 10 20 names INDEX input 1
  • 在.rdlc报告的底部设置一个文本框

    我在 rdlc 报告中使用 tablix 有一个文本框 其中包含文本 签名 我想将此文本框放置在报告最后一页的底部 就在页脚之前 我已经用谷歌搜索了这个解决方案 但没有找到满意的结果 我的环境是VS2010 framework 4 0 有什
  • 内嵌显示定义术语和描述

    我正在为页面上的某些元素使用定义列表 并需要它们内联显示 例如 它们normally看起来像 我需要它们看起来像 注意多个 DD 我可以让它们在 moz 中使用 float 来正常工作 但无论我尝试什么 它们都无法在 IE 中工作 我通常会
  • C 预处理器库

    我的任务是开发源分析工具C程序 并且我需要在分析本身之前预处理代码 我想知道什么是最好的图书馆 我需要一些重量轻 便于携带的东西 与其推出自己的 为什么不使用cpp这是的一部分gcc suite http gcc gnu org onlin
  • 索引后文件被锁定

    我的 网络 应用程序中有以下工作流程 从存档下载 pdf 文件 索引文件 删除文件 我的问题是 对文件进行索引后 它仍然处于锁定状态 并且删除部分会引发异常 这是我用于索引文件的代码片段 try ContentStreamUpdateReq