如何使用FOS Elastica Bundle从索引的pdf文件内容中获取纯文本搜索结果?
我正在使用
ElasticSearch with Attachment-Mapper插件
弹性弯曲
FOS Elastica Bundle,Symfony2上的Doctrine
到目前为止,我已经能够启动并运行映射器附件了。 pdf文件内容使用此https://github.com/FriendsOfSymfony/FOSElasticaBundle/issues/96作为指南编制索引 方法摘要,所以你不必阅读整个github帖子:
1)使用“getEncodedFile”方法创建“document”实体。注意:我只抓取此方法中的文件内容。我不相信有必要在这里对base64进行编码,因为这会发生在后面(我很确定Elastica Document类会这样做)。
2)然后我设置了config.yml:
types:
document:
mappings:
id: ~
encodedFile:
type: attachment
persistence:
driver: orm
model: MyBundle\Entity\Document
provider: ~
finder: ~
listener: ~
搜索功能返回正确的实体。当我var_dump混合结果时,我得到了正确的实体,包括所有的字段。如果我添加“setHighlight”方法,则没有任何变化。 setHighlight方法不返回有关“encodedFile”字段的任何内容。我确实让setHighlight与其他领域合作。
如何从索引的base64编码数据中提取纯文本搜索结果(带有某些上下文)?
根据这个堆叠帖子Best practices for searchable archive of thousands of documents (pdf and/or xml),似乎有可能。
提前致谢
更新
所以我屈服了。我最终使用XPDF来提取和索引每个pdf文档的文本。然后我就像正常一样运行查询。