Amazon web services ElasticSearch搜索pdf文档中的内容
我正在从事一个利用AWS Lex chatbot和ElasticSearch的项目。我的目标是解析查询,目的是搜索单个pdf文档并提取一些相关信息Amazon web services ElasticSearch搜索pdf文档中的内容,amazon-web-services,
elasticsearch,amazon-lex,Amazon Web Services,
elasticsearch,Amazon Lex,我正在从事一个利用AWS Lex chatbot和ElasticSearch的项目。我的目标是解析查询,目的是搜索单个pdf文档并提取一些相关信息 我的印象是,尽管我的研究遇到了障碍,但通过ElasticSearch,这是可能的。我理解ElasticSearch能够为文档编制索引,但这似乎仅限于为实际文件编制索引,以便搜索与查询匹配的文件。我希望捕获PDF文档中的实际内容,并尝试根据查询提取一些内容。这可能吗?Elasticsearch无法直接为PDF编制索引。您可以提取PDF的文本,为其编制索
我的印象是,尽管我的研究遇到了障碍,但通过
ElasticSearch
,这是可能的。我理解ElasticSearch
能够为文档编制索引,但这似乎仅限于为实际文件编制索引,以便搜索与查询匹配的文件。我希望捕获PDF文档中的实际内容,并尝试根据查询提取一些内容。这可能吗?Elasticsearch无法直接为PDF编制索引。您可以提取PDF的文本,为其编制索引,然后像往常一样进行查询。从上千种不同的文件类型(如PPT、XLS和PDF)中检测和提取元数据和文本
您可以将Tika作为Docker容器运行:
要为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)