[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
引用
建议按业务切分(一般不同的业务,会有不同的搜索需求),以后数据量大了也好管理


可以详细说一下吗
Global site tag (gtag.js) - Google Analytics