Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Performance 索引大小对搜索速度的影响(存储或不存储)_Performance_Solr_Lucene - Fatal编程技术网

Performance 索引大小对搜索速度的影响(存储或不存储)

Performance 索引大小对搜索速度的影响(存储或不存储),performance,solr,lucene,Performance,Solr,Lucene,现在,我们使用Solr作为全文索引,其中文档的所有字段都被索引,但不存储。 有大约一百万个文档,索引大小是50GB。平均查询时间约为100ms 要使用突出显示等功能,我们需要考虑:额外存储文本。但是,这可能会使索引文件的大小增加一倍 我知道索引大小和查询时间之间绝对没有(线性)关系。在因子10上增加文档几乎不会导致查询时间的差异 但无论如何,系统(Solr/Lucene/Linux/…)必须处理更多的信息——例如,索引文件基于更多的I节点,等等 所以我确信,索引大小对查询时间有影响。(但是:这是

现在,我们使用Solr作为全文索引,其中文档的所有字段都被索引,但不存储。 有大约一百万个文档,索引大小是50GB。平均查询时间约为100ms

要使用突出显示等功能,我们需要考虑:额外存储文本。但是,这可能会使索引文件的大小增加一倍

我知道索引大小和查询时间之间绝对没有(线性)关系。在因子10上增加文档几乎不会导致查询时间的差异

但无论如何,系统(Solr/Lucene/Linux/…)必须处理更多的信息——例如,索引文件基于更多的I节点,等等

所以我确信,索引大小对查询时间有影响。(但是:这是显而易见的吗?)

第一: 你认为我是对的吗? 您是否有过与有/无存储文本相关的索引大小和搜索速度方面的经验? 通过存储文档来放大索引是否明智和合理

第二: 你知道Solr/Lucene是如何处理存储文本的吗?也许在不同的档案里?(这样对不需要存储文本的simples搜索没有影响!)


谢谢。

是的,如果存储大字段,索引绝对会增长,但如果要突出显示字段,则没有其他方法。我不认为速度会降低那么多,也许只是因为你需要下载更多的数据检索结果,但这并没有那么重要


关于lucene索引格式和索引中的不同文件,您可以看看:存储的字段存储在特定的文件中。

如果要突出显示,您不必存储,您可以从数据库中提取原始内容并重新分析原始内容,然后突出显示。当然,如果您有数据库。我不确定性能方面的成本是多少。我的意思是,如果您已经有了一个包含所需数据的数据库,那么它可以节省文件系统的空间,但可能比在性能方面存储字段更糟糕。您每次都必须重新分析,这是一种折衷。存储字段不应影响搜索性能,因为它们会转到不同的文件。不知道复合索引格式是否正确。@milan重新分析原始文本,以了解Solr/Lucene之外的突出显示是我们现在正在做的。问题是,实际上不可能在Solr/Lucene之外创建有效的高亮显示,因为必须像Solr一样处理术语,包括同义词、词干等。因此,您必须在应用程序端重建solr类型的突出显示,这是一个非常大的挑战-它永远不会以100%相同的结果工作。然后,如果您担心性能,请继续!将这些字段存储起来!:-)我可以知道我的回答是否有用吗?你在找别的东西吗?我写这个问题是为了了解索引大小对搜索速度的影响——可能是来自有实际经验的人。所以“我不认为”不能帮助我。关于你对lucene文件文档的链接很有用。嗯,我有实践经验,我从来没有在存储字段时遇到过性能问题,而我也有过大小问题。此外,该链接证明存储字段不会降低性能。这不回答你的问题吗?