【问题标题】:Is having empty fields bad for lucene index?有空字段对 lucene 索引不利吗?
【发布时间】:2016-11-15 03:49:47
【问题描述】:

ES doc on mappings 状态如下

类型不太适合完全不同类型的数据。如果您的两种类型具有互斥的字段集,则意味着您的索引的一半将包含“空”值(字段将是稀疏的),这最终会导致性能问题。在这些情况下,最好使用两个独立的索引。

我想知道我应该如何严格地接受这个。

假设我有三种类型的文档,每种共享相同的 60-70% 的字段,其余的对每种类型都是唯一的。

我应该将每种类型放在单独的索引中吗? 或者一个单一的索引也可以,这意味着不会有大量的存储浪费或对搜索或索引操作有任何明显的性能影响?

基本上,我正在寻找任何信息来确认或反驳上述报价。

【问题讨论】:

    标签: elasticsearch lucene


    【解决方案1】:

    如果您的类型重叠 60-70%,那么 ES 就可以了,这听起来根本不是“互斥的”。请注意:

    1. 在 ES 的未来版本中将improve
    2. 如果你不需要它们,你可以禁用 norms 和 doc_values,推荐 here

    【讨论】:

    • 非常感谢您的回答。它似乎更多的是关于 doc_values,而不是 lucene 索引本身。虽然对我来说它可能更相关。
    猜你喜欢
    • 2017-01-29
    • 2012-05-10
    • 2014-03-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-18
    • 2016-09-27
    • 1970-01-01
    相关资源
    最近更新 更多