[solr] solr好几个表怎么设计索引合适
tan8888
2010-03-29
我的需求是这样的,数据库有产品表,图片表,文章表等十几个表需要建索引,用户可以选择某一表来搜,如选择产品,就只能搜出产品的结果,也可以全站搜,所有的产品,图片,文章都能出来结果,想问一下,怎么建索引库合理,是把所有的表都放到一个索引库里,还是分表来索引库,我知道solr1.4支持multicore,这样分开建索引是不是好管理呢?如果是就建一个索引库的话,怎么做到搜产品就出来产品的结果呢,如果是百万数据以上这样做会不会影响性能呢?
再问一个问题,solr索引更新的问题,怎么做到只更新数据库修改的数据,是全部再重新索引一遍吗?怎么做到一有修改就更新索引? 谢谢! |
|
imjl
2010-03-29
分开还是合并,我觉得可以从并发和数据量来考虑
如果放在一起用个字段来表示产品,图片,文章。用数字来表示,就当于多个条件,多加这么个数字字段,几乎不影响性能的。 简单的可以这么做,分两个solr实例,一个处理旧索引(只用搜索),另一个新索引(新增数据,更新该索引内数据,搜索) 这样呢是基于一个前提,旧数据没有更新,只有新数据才更新。 当然你也可以尝试旧数据更新,这会影响搜索效率。 复杂的当然是脱离solr,lucene,自己建立索引机制。思考如何反向索引,如何分布数据,如何压缩数据,如何排序,锁等。 |
|
tan8888
2010-03-30
非常感谢你的回答!
imjl 写道 分开还是合并,我觉得可以从并发和数据量来考虑 你是说,数据表的多少不影响分开合并,多少个表都可以放到一个索引库,只有数据量的大小是考虑条件?那多大数据量分开建索引库合适呢? imjl 写道 如果放在一起用个字段来表示产品,图片,文章。用数字来表示,就当于多个条件 具体怎么做?是几个设计相同的索引字段,然后把所有数据都放到这几个索引字段吗? imjl 写道 一个处理旧索引(只用搜索),另一个新索引 这两个实例怎么相关起来呢? imjl 写道 复杂的当然是脱离 solr,lucene,自己建立索引机制。 目前来说,还未到这个需求,也还未有这个水平 再次谢谢! |
|
chineselio
2010-03-30
建议按业务切分(一般不同的业务,会有不同的搜索需求),以后数据量大了也好管理
|
|
tan8888
2010-03-30
引用 建议按业务切分(一般不同的业务,会有不同的搜索需求),以后数据量大了也好管理 可以详细说一下吗 |