为什么Solr存储字段的原始/预分析内容而不仅仅是其索引?

时间:2016-09-05 19:21:52

标签: solr lucene

这个问题清楚地证明了我是Solr的新手及其所有精彩的功能。我为我的noobness道歉。

但是为什么Solr除了索引之外还存储原始内容?这看起来很浪费。我确实知道只有当字段具有属性stored="true"时才存储原始内容。

它存储原始内容的位置?它是否以某种方式引用了实际文档?

另外,有没有办法直接查看Solr为每个集合保存的索引文件?

链接将不胜感激。

1 个答案:

答案 0 :(得分:3)

如果Solr没有存储文本,它将无法实际返回它找到的文本 - 使得无法进行突出显示等内容,或构建直接使用Solr结果的应用程序。您必须在其他地方查找每个结果的实际内容,这可能不是您想要的(并且该内容可能不可用,例如,如果您正在构建搜索引擎 - 它不会真的有效地检索搜索结果中的每个页面以获取相关信息。)

您可以在the API documentation for the Lucene60 codec中阅读索引文件格式,使用the stored fields format存储存储的字段。这些字段位于索引目录中的.fdt文件中。

索引文件通常位于磁盘上的集合/核心下的data/index/目录中:

data/index$ ls
_zq.fdt             _zr.fdx             _zs.si
...