是否有可能从lucene中的非存储字段重建数据?

时间:2017-05-26 14:25:58

标签: elasticsearch encryption solr lucene

假设我有一组uuid作为id的地址。除id之外的所有字段都不存储在索引中(索引,但未存储)。实际上是否可以仅使用索引文件重新创建数据?

问题是我有一组加密数据,但我希望能够搜索它们。使用lucene索引这些数据实际上是否安全?如果有人抓住索引文件,他们是否能够构建数据?

1 个答案:

答案 0 :(得分:2)

所以:

  1. 你有一个字段X
  2. 你没有存储(当然你也没有使用docvalues)
  3. 您正在使用例如WhitespaceTokenizer和ShingleFilter
  4. 对其进行索引

    然后,在这种情况下,有人可以重建该领域的原始内容。至少'主要是原始内容'。例如,所有的空格都丢失了,所以他们不知道两个术语之间是否有1或5个空格,但是他们会得到这些术语(我认为这是重要部分)。

    如果您使用NGramTokenizer / NGramTokenFilter,同样适用,他们将有机会重建重要的术语。

    顺便说一句,有a patch here提议实现字段级加密,但从未提交。你可能有兴趣在那里寻找。