如果我将字段标记为"请勿存储,"索尔在任何地方都保留了该领域的原始内容,或者它是否只保留了#34;它剔除索引本身?
我从文件安全的角度提问。如果有人闯入运行我们Solr索引的机器,他们是否可以将原始文本传递给Solr,因为这不会存储"领域,还是没有?
答案 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对此进行验证,如上所述。)