分布式搜索思考

如下是我跟群友们的关于搜索分布式的讨论,我是天天向上
[quote]


mingyuan(307803179) 11:15:10
兄弟们
mingyuan(307803179) 11:15:37
有谁有solr分布式环境下进行索引更新的经验吗
mingyuan(307803179) 11:18:42
大家是按照什么办法查找一个文档所在的机器的啊
mingyuan(307803179) 11:18:58
有木有人
蛋定(258432673) 11:19:48
文档在那个机器上你不可以自己定义吗
壮志雄虎(342315465) 11:20:02
建索引之前就根据某一条件分配好 不就行了嘛
mingyuan(307803179) 11:20:35
我是弄的随机的。。
竹子(113127626) 11:21:17
悲剧
【提示:此用户正在使用WebQQ:http://web.qq.com/】
壮志雄虎(342315465) 11:22:03
分布式最好别用随机的啊 找一个条件 只要这个条件能平均分配就ok
蛋定(258432673) 11:22:05
从新建索引吧
mingyuan(307803179) 11:22:10
看来我要调整策略了。。。
壮志雄虎(342315465) 11:22:35
难道一个查询条件来 你每台机器都要检索?
mingyuan(307803179) 11:22:58
我原来想的是记录下来
蛋定(258432673) 11:23:25
当然要每台查询再合并啊,不然分布式有什么意义
壮志雄虎(342315465) 11:24:19
那也不能每个查询条件都要每台查询啊 能在一台机器上查当然要在一台机器上查了
mingyuan(307803179) 11:24:39
我现在一个机器上面多个core
蛋定(258432673) 11:24:52
你能保证别人查询的东西都在一台机器上?
mingyuan(307803179) 11:24:53
如果都在一个机器上查的话,磁盘跟不上
mingyuan(307803179) 11:25:43
不知道各位考虑这个因素了没
mingyuan(307803179) 11:26:03
另外啊,还回到刚才的那个话题
成都-天天向上(1047295342) 11:26:08
我认为的分布式如同凡客、京东等的买卖物品。应该有一个分发器,分发到不同的应用上,属于某个分类的就只在这个分类去处理,之后分发器统一返回。不知道我说清楚没有
壮志雄虎(342315465) 11:26:28
比方说我按时间条件分布索引的 查询条件来了 先判断时间条件 再确定查询哪个机器
成都-天天向上(1047295342) 11:27:19
分发条件很多,比如按ip进行分发
mingyuan(307803179) 11:27:39
我这边索引增加的比较频繁,如果按照时间的话可能不是太好使
mingyuan(307803179) 11:28:08
ip,hash我考虑过,但是遇到加机器的情况怎么办?
成都-天天向上(1047295342) 11:28:40
这个应该是做成配置项
成都-天天向上(1047295342) 11:29:19
不一定非要一层,你可以做成多层
mingyuan(307803179) 11:29:50
请天天向上兄细说一下
mingyuan(307803179) 11:31:32
做成配置项是指的分发条件?
成都-天天向上(1047295342) 11:31:33
比如说凡客卖衣服,如果在各个省会城市都有物流中心,那么就相当于1层的分布,如果说在德阳卖的很好,那么他可以在德阳增加一个物流,这样就可以再成都的基础上再增加一层分布
成都-天天向上(1047295342) 11:32:02
我们做软件也可以参考这种思路,我是这么构想的哈
mingyuan(307803179) 11:32:19
额。。这个你说的是查询吧?
成都-天天向上(1047295342) 11:32:34
索引和查询都一样
56源远流长(117405390) 11:32:55
分得这么细,维护烦死你
成都-天天向上(1047295342) 11:33:16
这个是系统大了之后考虑的
mingyuan(307803179) 11:34:05
暂时咱们没弄这么牛逼 呵呵 只是几台硝基漆
mingyuan(307803179) 11:34:08
小机器
成都-天天向上(1047295342) 11:34:27
如果在开始做的时候就这么考虑我认为也是可行的
成都-天天向上(1047295342) 11:34:37
你相当于是分索引目录嘛
成都-天天向上(1047295342) 11:35:12
这样有个好处是一个索引坏掉不会有太大的影响
成都-天天向上(1047295342) 11:35:42
大家可以考虑下,同时大家看看还有没有更好的办法
mingyuan(307803179) 11:38:00
是啊 目前就是这个架构,多个机器,每个机器多个目录,对应多个core
56源远流长(117405390) 11:38:22
细粒度要把握好。。。
你这样搞,看维护有多麻烦
升个级都费个半天
mingyuan(307803179) 11:39:15
现在面临的问题就是索引更新,想找一个比较靠谱的策略来分布文档,以便以后加机器的时候一个特定id的文档会被分布到同一台机器
mingyuan(307803179) 11:39:58
@56,你这样搞,看维护有多麻烦 这个是说我的那个方法吗
我用的solrj处理
成都-天天向上(1047295342) 11:41:45
分布策略根据项目不同肯定也不同。传统的像ip、知识点分类等都可行
这样做还有个好处是搜索结果更精准到位
mingyuan(307803179) 11:42:34
我只对不同类型的数据进行了分类
mingyuan(307803179) 11:42:34
我只对不同类型的数据进行了分类
同一类型的数据就没有再分类了
成都-天天向上(1047295342) 11:43:11
这个看项目了。原则就是这样
[/quote]

你可能感兴趣的:(搜索技术)