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
如何在solr中禁用排序查询的缓存?_Solr_Solrcloud - Fatal编程技术网

如何在solr中禁用排序查询的缓存?

如何在solr中禁用排序查询的缓存?,solr,solrcloud,Solr,Solrcloud,我按“id”字段排序,该字段有2500万个唯一值。因此,在排序之后,我可以看到为“id”字段填充的fieldcache超过1GB。因此,我想禁用在fieldcache中创建条目,因为我可以通过性能优化Heapmemory。我尝试给出q={!cache=false}**,但仍然可以看到fieldcache中填充了id字段。我还给出了docValues=true、index=false和stored=false,但没有任何东西可以阻止“id”字段在fieldcache中填充。我正在云模式下使用Sol

我按“id”字段排序,该字段有2500万个唯一值。因此,在排序之后,我可以看到为“id”字段填充的fieldcache超过1GB。因此,我想禁用在fieldcache中创建条目,因为我可以通过性能优化Heapmemory。我尝试给出
q={!cache=false}**
,但仍然可以看到fieldcache中填充了id字段。我还给出了docValues=true、index=false和stored=false,但没有任何东西可以阻止“id”字段在fieldcache中填充。我正在云模式下使用Solr5.2.1。有什么办法可以做到这一点吗?

更改字段定义后,您必须重新编制所有文档的索引。由于使用docValues的更改不会为所有文档填充,因此旧结构仍然会占用字段缓存中的空间

如果只是对单个文档重新编制索引,然后提交该文档,则该文档是唯一一个填充了docValues的文档。优化索引将合并组成索引的段,但不会重写其内容


我不熟悉禁用字段缓存的方法。由于这是一个低级的Lucene概念,Solr实际上对此无能为力。

更改字段定义后,您必须重新编制所有文档的索引。由于使用docValues的更改不会为所有文档填充,因此旧结构仍然会占用字段缓存中的空间

如果只是对单个文档重新编制索引,然后提交该文档,则该文档是唯一一个填充了docValues的文档。优化索引将合并组成索引的段,但不会重写其内容


我不熟悉禁用字段缓存的方法。由于这是一个低级的Lucene概念,Solr对此无能为力。

启用docValues后是否重新编制了索引?非常感谢。重新编制索引后,它使用的是docValues=true。我必须删除所有文档,然后重新编制索引,之后才有效。删除所有文档是否需要重新编制索引?(尝试删除记录,然后提交和优化,但不起作用)。除将docValues设置为true外,还有其他方法禁用字段缓存吗?启用docValues后是否重新编制索引?非常感谢。重新编制索引后,它将使用docValues=true。我必须删除所有文档,然后重新编制索引,并且只有在这之后才有效。删除所有文档是否需要重新编制索引?(尝试删除记录,然后提交和优化,但不起作用)。除了将docValues设置为true之外,还有其他方法禁用字段缓存吗?。