elasticsearch搜索pdf文档内容

iq3niunx  于 2021-06-14  发布在  ElasticSearch
关注(0)|答案(1)|浏览(388)

我在做一个项目 AWS Lex chatbot 以及 ElasticSearch . 我的目标是解析一个查询,以便搜索单个pdf文档并提取一些相关信息。
我觉得这是可能的 ElasticSearch ,尽管我的研究遇到了障碍。我理解 ElasticSearch 具有索引文档的功能,但这似乎仅限于索引实际文件以搜索与查询匹配的文件。我希望在pdf文档中找到实际内容,并尝试根据查询提取一些内容。这可能吗?

zte4gxcn

zte4gxcn1#

elasticsearch无法直接索引PDF。您可以提取pdf的文本,对其进行索引,然后像往常一样进行查询。ApacheTika“从上千种不同的文件类型(如ppt、xls和pdf)中检测并提取元数据和文本。”
您可以将tika作为docker容器运行:docker tikaserver
要索引pdf,请将数据发送到tika(例如,作为docker容器运行,可通过http://tika:9998),获取文本并为其编制索引:

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)

相关问题