使用 shuf 来打乱一个文件中的行或是选择文件中一个随机的行。

es存储word,pdf文档

Elasticsearch | 作者 fujun | 发布于2018年07月10日 | 阅读数:10439

现在要将几万份的word文档存入es,文档中有表格和图片,有没有好的解决方案
已邀请:

大慈大悲掌 - 要我一直笑吗?https://www.jianshu.com/u/bfa06856a726

赞同来自:

把文件的文件名,创建时间,修改时间,大小,路径等等结构化信息索引起来,然后查询回来的信息用路径去获取文件

fujun - 90

赞同来自:

那es只存储路径吗,怎么做到全文检索呢?
 

大慈大悲掌 - 要我一直笑吗?https://www.jianshu.com/u/bfa06856a726

赞同来自:

那如果要搜索文中内容的话那就需要对这些数据做预处理了。借助POI等其他工具解析word和pdf留下文本数据,形成这样的数据结构
{
"filename":"xxx",
"createTime":xxxx
"title":"xxx",
"content":"xxx",
"path":"xxxx"
...
}
然后搜索的时候做类似filename:keyword and title:keyword and content:keyword的逻辑,更多的比如标题和内容要做什么分词,要不要冗余字段等等

fujun - 90

赞同来自:

es能存储word文档中的表格和图片吗

Acepcs - ES

赞同来自:

例如,
一个word文档文件名为myword.docx,里面的文章标题为mytitle,里面包含1个表格,5张图片,大段文字。
先将图片/多媒体数据存到一些云对象存储产品里,将本地的“图片”转换成云上的一条“url”。接着再对表格进行一些结构上的解析。
 
那么你可以先预处理将其整合成
{
    "file_name" : "myword.docx",
    "file_path" : "mypath",
    "title" : "mytitle",
    "length" : LONG,
    "content" : "mycontent",
    "tables" : [
        {
            "table_title" : "mytabletitle",
            "table_headers" : [],
            "table_rows" : []
        }
    ],
    "pictures": [
        {
            "url" : "picurl",
            "size" : "picsize"
        }
    ]
}

fujun - 90

赞同来自:

这样就把表、图片、文字隔离了,文档中的文字和表格、图片是有关联的

laoyang360 - 《一本书讲透Elasticsearch》作者,Elastic认证工程师 [死磕Elasitcsearch]知识星球地址:http://t.cn/RmwM3N9;微信公众号:铭毅天下; 博客:https://elastic.blog.csdn.net

赞同来自:

知识库检索实践参考:https://blog.csdn.net/laoyang3 ... 16320

要回复问题请先登录注册