V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
beryl
V2EX  ›  程序员

ES 动态字段过多问题

  •  
  •   beryl · 42 天前 · 719 次点击
    这是一个创建于 42 天前的主题,其中的信息可能已经有所发展或是发生改变。

    系统将用户上传的 Excel,放在 ES 查询,供检索。但是 Excel 的表头可以自定义的,这样会导致一个索引下面的字段太多

    这种情况有什么好的优化方式么

    或者表头不映射成字段,有没有更好的存储呢

    7 条回复    2021-09-07 16:45:19 +08:00
    chendy
        1
    chendy   42 天前
    直接把 excel 所有内容读出来做一个字符串保存然后搜索怎么样?
    beryl
        2
    beryl   42 天前
    @chendy 需要针对表格里面的某些字段做检索,保存为一个字符串无法检索。
    Itoktsnhc
        3
    Itoktsnhc   42 天前
    牺牲表头列的可读性
    做表头->col_id 的映射,col_id 自增,按照范围拆分索引 实际查询的时候从映射中获取实际的列,再到 es 中查询
    Itoktsnhc
        4
    Itoktsnhc   42 天前
    @Itoktsnhc 比如 col_id (0,29) 在索引 xxx_0; col_id(30,59)在索引 xxx_1. 按照映射关系分别查询

    另外感觉需要注意的就是 需要 id 或者什么来表明不同索引内的是同一条记录
    cco
        5
    cco   42 天前
    试试 hbase + es 配合使用呢? ES 存 rowkey,Hbase 存数据。
    beryl
        6
    beryl   42 天前
    @Itoktsnhc 嗯,现在准备根据业务属性拆分索引
    beryl
        7
    beryl   42 天前
    @cco 目前没有 habase 技术栈,尽量不引入
    关于   ·   帮助文档   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1188 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 19ms · UTC 18:34 · PVG 02:34 · LAX 11:34 · JFK 14:34
    ♥ Do have faith in what you're doing.