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