[solr ] Solr 单字切分时 大数据量性能问题???
wu_quanyin
2012-03-07
索引数据量:40G左右,总共有7000万条数据
因为业务需求,改成单字切分(StandarAnalyzer) 查找时,会根据时间段查找(如一个月内,一年内),使用Filter进行过滤, 这样一来查询的速度非常的慢,希望各位帮忙,制定解决方案。。。 |
|
fys124974704
2012-03-14
你把它当做一个db一样,过滤的时候考虑优先级试试。
|
|
wu_quanyin
2012-03-26
fys124974704 写道 你把它当做一个db一样,过滤的时候考虑优先级试试。
你这解决方案太抽象了。,。。。 |
|
wang_scu
2012-04-26
这个数据量应该算很大了 不知道你对响应时间有啥要求
有这样几个建议 1)term索引数据截段 2)查询终端 不要一次返回所有数据 3)全放内存吧 4)预热一下 如果查询语法不复杂 自己写一个好了 |
|
yuhao_1202
2012-05-05
1.不需要在查询中返回的数据,尽量不存储在索引中(常用的做法是索引中只存储ID,根据ID到数据库中查)
2. 用单字切分,估计也就不关心TermVector和Offset一类的信息了,因为单字切分会生成更多的TermVector和Offset,基本无法按自然语言的原理使用了。所以在schema.xml中将这些设为false 3. 调整filterCache大小。 4. 降低maxWarmingSearchers,内存中同时维持过多的searcher,会导致数据很容易崩溃。 5. 尽量不要用optimize了。 6. 用较新的Solr3.5可能会好点,内存占用相对较低。 7. 总是用rows限制返回行数 8. 构造查询时,总是带上统一的 时间filter语法 我们现在3000万数据,用的中文分词。性能目前还稳定。 |