gpt4 book ai didi

java - SOLR indexed=true 和 stored=true 的区别

转载 作者:搜寻专家 更新时间:2023-11-01 01:21:09 37 4
gpt4 key购买 nike

在SOLR中,stored=trueindexed=true有什么区别。我知道 stored=true 存储字段的实际值而不修改它,而 indexed=true 存储字段的修改值以用于计算目的。我想知道,它会影响性能到什么程度。与 stored=falseindexed= 相比,stored=trueindexed=true 的组合是否会降低持久性和检索的性能是吗?

最佳答案

indexed = true 如果您想“搜索”该字段,则需要该字段。如果某个字段未编入索引,则您无法从该字段中找到值/术语。如果 indexed = true,您的分析器链会遍历该字段上的数据。

如果您需要从索引中读取字段的值/内容,则需要

stored = true。例如,如果您喜欢使用突出显示功能,或者如果您喜欢将 solr 用作数据库,而不仅仅是用作搜索索引。如果 stored = true 表示:只需存储原始内容并在需要时输出原始内容。

I would like to know, till what level it affects the performance.

内容(存储)和索引放在不同的文件中。所以 solr 不需要在搜索时遍历内容文件,只是因为 stored 是真的。

存储数据需要一些时间,尤其是当数据很大时。在检索方面,这取决于您放入“fl”的内容。如果您不使用“fl”检索字段,则不会产生读取费用。

但是如果该字段被存储,那么 solr 能够打印结果列表中的内容(取决于您的 solr 配置)。这意味着,您的结果列表可能会更大(取决于您的内容/字段大小)。如果 solr 也必须发送存储字段的内容,则构建列表并将列表传输到客户端可能会更慢。

执行搜索的时间将相同。但是请求所需的整个时间是几件事情的补充:搜索、构建结果列表、将列表传输到客户端等。因此存储所有字段并将所有内容输出到结果列表中可能会减慢您的速度solr 请求,但不会对查询时间产生影响。

关于java - SOLR indexed=true 和 stored=true 的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28806255/

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com