索引后Solr会存储文档的原始内容吗?

时间:2012-04-18 23:25:15

标签: security solr

如果我将字段标记为"请勿存储,"索尔在任何地方都保留了该领域的原始内容,或者它是否只保留了#34;它剔除索引本身?

我从文件安全的角度提问。如果有人闯入运行我们Solr索引的机器,他们是否可以将原始文本传递给Solr,因为这不会存储"领域,还是没有?

2 个答案:

答案 0 :(得分:3)

不,对于设置为stored="false"的字段,Solr索引不会以任何可检索或可查看的方式存储原始值。 Solr wiki上的Common Field options说明了设置存储选项的以下行为。

  

如果在搜索期间应该可以检索字段的值

,则为true

如果有人破解了运行Solr索引的机器并根据上述内容运行了Solr查询,那么他们将无法看到该字段的内容,因为Solr不会返回该字段。但是,如果他们可以访问由Lucene编写的磁盘和实际索引文件夹和段文件,他们可以使用Luke - Lucene Index Toolbox查看Solr为该字段中的每个文档存储的术语,以检查索引文件夹。

答案 1 :(得分:3)

当一个字段是Storable时。没有,只有足够的信息存储给Lucene来执行搜索。

但是,如果在构造每个字段时指定WITH_POSITIONS_OFFSETS,通常会有足够的信息来检索:

lowercase(EXACTSTRINGINDEXED) - LUCENEDELIMITERS - STOPWORDS

例如,如果您编入索引:

Jerry&Mary's Live Bait and Yellow Cab

使用分析仪处理“&”和“'”作为分隔符,没有索引单个字母,并将'和'视为一个停用词,你会在索引中看到类似的东西:

jerry mary live bait [null word] yellow cab

(您可以使用Luke对此进行验证,如上所述。)