在SOLR中,stored=true
和indexed=true
之间有什么区别。我知道stored=true
存储字段的实际值而不修改它,indexed=true
存储字段的修改值以用于计算目的。我想知道,直到它影响性能的程度。与stored=true
和indexed=true
相比,stored =false
和indexed=true
的组合是否会降低持久性和检索的效果?
答案 0 :(得分:11)
indexed = true
那个领域。如果字段未编入索引,则无法从该字段中找到值/术语。
如果indexed = true
。
stored = true
。例如,如果您想使用突出显示功能,或者您希望将solr用作数据库,而不仅仅是作为搜索索引。如果stored = true
表示:只需存储原始内容并输出原始内容(如果需要)。
我想知道,直到它影响表现的程度。
内容(存储)和索引放在不同的文件中。所以solr不需要在搜索时遍历内容文件,只是因为stored是真的。
存储数据需要一些时间,特别是如果数据很大。在检索方面,它取决于你投入的内容' fl'。如果您没有通过“f'”检索该字段,则不会产生阅读费用。
但是如果存储了该字段,那么solr能够在结果列表中打印内容(取决于您的solr配置)。这意味着,您的结果列表可能会更大(取决于您的内容/字段大小)。如果solr也必须发送存储字段的内容,那么构建列表并将列表传输到客户端可能会更慢。
执行搜索的时间是相同的。但是,请求所需的整个时间是添加了几个东西:搜索,构建结果列表,将列表传输到客户端等。因此,将所有内容输出到结果列表中的所有字段的输出可能会慢一些solr请求,但不会对查询时间产生影响。