当前位置: 首页 > 知识库问答 >
问题:

如何在Elasticsearch 5.0.0中使用ingest-attachment插件索引pdf文件?

商迪
2023-03-14

我是Elasticsearch的新手,我在https://www.elastic.co/guide/en/Elasticsearch/plugins/master/mapper-attachments.html读到emapper-attachments插件在Elasticsearch 5.0.0中是不推荐的。

curl -H 'Content-Type: application/pdf' -XPOST localhost:9200/test/1 -d @/cygdrive/c/test/test.pdf
{"error":{"root_cause":[{"type":"mapper_parsing_exception","reason":"failed to parse"}],"type":"mapper_parsing_exception","reason":"failed to parse","caused_by":{"type":"not_x_content_exception","reason":"Compressor detection can only be called on some xcontent bytes or compressed xcontent bytes"}},"status":400}

我希望pdf文件将被索引和上传。我做错了什么?

我也测试了Elasticsearch 2.3.3,但是映射器附件插件对这个版本无效,我不想使用任何旧版本的Elasticsearch。

共有1个答案

厉坚
2023-03-14

您需要确保已经使用以下命令创建了摄取管道:

PUT _ingest/pipeline/attachment
{
  "description" : "Extract attachment information",
  "processors" : [
    {
      "attachment" : {
        "field" : "data",
        "indexed_chars" : -1
      }
    }
  ]
}

然后,可以使用创建的管道对索引进行PUT not POST。

PUT my_index/my_type/my_id?pipeline=attachment
{
  "data": "e1xydGYxXGFuc2kNCkxvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0DQpccGFyIH0="
}

在您的示例中,应该类似于:

curl -H 'Content-Type: application/pdf' -XPUT localhost:9200/test/1?pipeline=attachment -d @/cygdrive/c/test/test.pdf

弹性摄食

摄取插件

摄取呈现

./bin/elasticsearch-plugin install ingest-attachment

映射应该是这样的:

PUT my_index
{ 
    "mappings" : { 
        "my_type" : { 
            "properties" : { 
                "attachment.data" : { 
                    "type": "text", 
                    "analyzer" : "brazilian" 
                } 
            } 
        } 
    } 
}

在这种情况下,我使用巴西过滤器,但您可以删除它或使用您自己的过滤器。

 类似资料:
  • 问题内容: 我是Elasticsearch的新手,我在这里阅读https://www.elastic.co/guide/zh- cn/elasticsearch/plugins/master/mapper- attachments.html ,在Elasticsearch 5.0.0中已弃用了mapper-attachments插件。 我现在尝试使用新的摄取附件插件为pdf文件编制索引并上传附件。

  • 我们有一个客户正在使用谷歌搜索设备(GSA)搜索数千个PDF文件。PDF文件位于子文件夹中组织的文件共享上。它定期发现新文件并将其添加到数据库中。 GSA还不够好,所以现在他们需要替代品。例如,他们的GSA无法在PDF中正确搜索垂直文本。我们已经研究了Apache Lucene和Solr以及Tika和ExtractingRequestHandler。 我已经启动并运行了Solr示例,并添加了一个使

  • 我现在试图修改一个只有文本内容的PDF文件。当我使用 谢谢

  • 问题内容: 我是Lucene的新手,在创建 用于查询文本文件集合的 简单代码时遇到一些问题。 我尝试了此示例,但与新版本的Lucene不兼容。 UDPATE: 这是我的新代码,但是仍然无法使用。 问题答案: Lucene是一个相当大的主题,涉及很多类和方法,通常您必须至少了解一些基本概念才能使用它。如果您需要快速可用的服务,请改用Solr。如果您需要对Lucene的完全控制,请继续阅读。我将介绍一

  • 我想在另一个缩放的PDF页面中插入一个PDF页面。我想用iTextSharp做这个。 我有一个矢量绘图,可以导出为单页PDF文件。我想将此文件添加到其他PDF文档的页面中,就像我将图像添加到PDF文档一样。 这可能吗? 这样做的目的是在不损失质量的情况下保留放大的能力。 使用PDF矢量很难再现矢量绘图,因为它是一个极其复杂的绘图。 导出矢量绘图为高分辨率图像不是一个选项,因为我不得不在一个单独的P