当前位置: 首页 > 面试题库 >

如何从ElasticSearch绝对删除某些内容?

乜栋
2023-03-14
问题内容

我们使用ELK堆栈进行日志记录。我被要求设计一个流程,以解决如何删除意外记录的敏感信息。

现在,根据我对ElasticSearch(Lucene)如何处理删除和更新的了解,仍然无法使用索引中的数据。随着索引的合并,最终将被清理,等等。

是否有运行更新(删除内容)或删除(删除内容)并保证将其删除的过程?


问题答案:

当更新或删除某些值时,ES会将当前文档标记为已删除并为新文档建立索引。删除的值仍将在索引中可用,但永远不会从搜索中找回。当然,如果有人可以访问基础索引文件,则他可以使用某种工具(例如Luke或类似工具)查看索引文件中的内容,并有可能看到已删除的敏感数据。

确保标记为已删除的文档确实从索引段中删除的唯一方法是强制合并现有段。

POST /myindex/_forcemerge?only_expunge_deletes=true

但是请注意,有一个名为的设置index.merge.policy.expunge_deletes_allowed定义了一个阈值,在该阈值以下不会发生强制合并。默认情况下,此阈值设置为10%,因此,如果删除的文档少于10%,则强制合并调用将不执行任何操作。您可能需要降低阈值才能进行删除…或更容易些,请确保不要索引敏感信息。



 类似资料:
  • 我正在经历一个练习,需要在从文件中删除所有元音后从文件中输出文本。例如,包含文本“计算理论”的文件应输出“Thry f Cmpttn”。 我尝试构建一个函数“removeVowel元音(ifsream 我希望在控制台中输出不带元音的字符串,但程序在不输出字符串的情况下终止。

  • 我有一个数组像 现在我要移除cartItem对象中的一个产品。我试过这个方法,但是更新后它也把原来的cartitem弄得一塌糊涂。 最后,原始的cartItem对象也没有显示任何东西。 我想要的是从products数组中移除一个产品,并发送回剩余的数组。

  • 我有以下问题: 我有一个矩阵。现在,我想在矩阵的每一行中删除一个条目:在包含某个数字(比如4)的行中,我想删除带有该数字的条目,在其他行中,我只想删除最后一个元素。 如果我有矩阵 这给了 2 0 4 0 删除后应该只是 2. 0 谢谢你的帮助!

  • 我是python的新手,正在为一个特定的任务而苦苦挣扎: 我有一个字符串,它可以包含任何东西,但它总是“结束”相同的。它可以只是一个文件名,一个完整的路径,或者只是一个随机字符串,以一个版本号结尾。 示例: 什么总是相同的(从结尾看)是,如果你到达第二个点,在它前面走2个字符,你总是匹配的部分,我感兴趣。在某个字符串之后剪切所有东西是“容易的”,我自己解决了它--这就是为什么字符串以现在的版本结尾

  • 问题内容: 我正在考虑使用删除字符串中的某些字符。目前尚不清楚将要删除哪些字符(即我想删除哪些字符),但是我会假定任何字符都是有效的(例如和之类的东西,等等)。 我遇到了http://www.java-tips.org/java-se-tips/java.lang/strip-certain-characters- from-a-string.html, 但是肯定有比遍历每个字符更好的方法… 有什

  • 我希望当用户编写命令时,bot会删除具有特定名称的特定频道,但我并没有真正成功。错误: 代码: