微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ElasticSearch在pdf文档中搜索内容

如何解决ElasticSearch在pdf文档中搜索内容

我正在利用AWS Lex chatbotElasticSearch进行项目。我的目标是解析查询,目的是搜索单个pdf文档并提取一些相关信息。

我对ElasticSearch的使用是有印象的,尽管我的研究遇到了障碍。我了解ElasticSearch可以为文档建立索引,但这似乎仅限于为实际文件建立索引以搜索查询匹配的文件。我希望在PDF文档中找到实际内容,并尝试根据查询提取一些内容。这可能吗?

解决方法

Elasticsearch无法直接为PDF编制索引。您可以提取PDF的文本,对其进行索引,然后照常进行查询。 Apache Tika“从上千种不同的文件类型(例如PPT,XLS和PDF)中检测并提取元数据和文本。”

您可以将Tika作为Docker容器运行:docker-tikaserver

要为PDF编制索引,请将您的数据发送到Tika(例如,通过可通过http:// tika:9998访问的docker容器运行),获取文本并对其进行索引:

doc = {...} # other content to index
try:
    # open PDF and read contents into data
    # send content to tika to extract text
    doc["content"] = requests.put("http://tika:9998/tika",data=data).text
    es.index(index="my-index",id=doc["id"],body=doc))
except Exception as e:
    log.error("error extracting text: %s",e)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。