我的问题是非常相似的this question
区别,我需要最少的RAM密集方式来收集有关不同值的信息。在这种情况下,我不在乎实际的数量,我只是想知道该领域的可能值。
我经常用完堆空间(3000万文件)并且必须有某种方式/参数才能以内存节省的方式做到这一点不同的SOLR字段值没有计数
回答
我不知道RAM的使用情况,但您可能想要请尝试Field collapsing您会发现Solr here的修补程序。
这似乎只与结果集相关。我不让solr返回任何行。我只对方面领域感兴趣 – 2010-07-16 09:03:04
如果不同值的数量很高,您可能需要进行方面分页。使用facet.offset和facet.limit参数。
什么是“高”?顶部字段可能有100个可能值 – 2010-07-14 14:39:50
默认值为100,因此通常不会将其视为“高”。但尝试facet.limit = 10,看看它是如何发展。 – 2010-07-14 16:25:19
使用StatsComponenet检索不同值的列表某一个领域: https://cwiki.apache.org/confluence/display/solr/The+Stats+Component
参数stats.calcdistinct
:
如果为真,不同的值将被计算并返回为“countDistinct”和“ distinctValues“。对于某些字段,这种计算可能会很昂贵,所以默认情况下它是错误的。如果只想为特定字段返回不同的值,则还可以指定f..stats.calcdistinct,替换为字段名称,以将不同值计算限制为必填字段。
为了减少负载,尽可能少地检索它并缓存结果,并在数据发生变化时再次检索。
如果您的索引一般较慢,您可能需要查看缓存配置和/或给予SOLR更多RAM(如果您有办法)。
最初回答这里(由我):
该选项在v3.x中不可用。对于v3.x有没有答案? – 2015-11-05 09:22:02
@ScottChu你的意思是Solr 1.3.x?这真的很古老,我已经用这个版本很长一段时间了。我认为你可以使用术语组件来实现它,即使是1.3,因为如果我没有记错的话,Luke(Solr Admin)也有这个信息。 – Risadinha 2015-11-05 11:36:47
不!我的意思是Solr 3.x.我们有一个旧的Solr 3.5产品。我试过你的答案,但它不起作用! – 2015-11-12 02:05:17
- 1. SOLR计数多值字段查询
- 2. 具有数万个值的Solr字段
- 3. 尝试根据不同字段的值计算#个字段的不同值
- 4. SOLR多值字段
- 5. Solr的多值字段串
- 6. 如何获得solr中字段唯一值的总计数
- 7. solr fq没有指定字段
- 8. 如何使用Solr选择不同的字段值?
- 9. 试图从Solr搜索中获得不同的字段值
- 10. Solr字段:针或q =针&qf =字段不同的结果
- 11. 索引太阳黑子(Solr)中不同字段类型的不同字段
- 12. Solr一个字段根据某些条件具有不同的值
- 13. Solr:字段没有丢失时“缺少必填字段”错误?
- 14. Solr在没有任何数据时删除分面的字段
- 15. Solr:没有显式设置默认值的字段默认值是什么?
- 16. Solr dynamicField不在查询中搜索没有字段名称
- 17. Solr的:搜索相同的字段或
- 18. 只搜索Solr多值字段的单个值,不跨越值
- 19. 在多值字段的计数上操作的Solr函数查询
- 20. 加入和计数在相同的查询没有双字段计算
- 21. 没有得到不同的字符串的计数 - MySQL的
- 22. 计算Solr中多值文本字段的完整匹配
- 23. 查询计数字段值
- 24. 计数不同值
- 25. Solr检索未存储字段的值
- 26. Solr pivoting获得多个字段的值
- 27. Solr的搜索多值字段
- 28. 查询多值字段在Solr的
- 29. 将值插入Solr的布尔字段
- 30. solr多值字段的得分
你发挥与facet.method参数? – 2010-07-14 12:38:45
nope,但由于“fc”是solr 1.4中的新默认值,所以我不知道应该放入什么 – 2010-07-14 14:41:36
另一个是“枚举”,但“fc”应该使用较少的内存。请参阅http://wiki.apache.org/solr/SimpleFacetParameters#facet.method – 2010-07-14 16:22:08