
1 bjzhush 2014-08-11 16:24:12 +08:00 我之前做的是所有表的主键id都是连续的 比如 data_1 1-100W data_2 100W-200W data_3 200W-300W 这样检索出来id,就知道结果在哪个表了 |
2 bjzhush 2014-08-11 16:25:44 +08:00 以上我的做法是1个index对应多个source的 如果是1个source对应1个index,其实source的表名就是确定了的,各自分别配置就可以了 不过分的太多了,估计你查询起来不是太方便吧? |
3 letitbesqzr OP @bjzhush 我这大概12亿数据... 我试了 所有source分在一起..但 查询的时候检索不完,不知道为啥 只能查到第一个 source .. |
4 letitbesqzr OP @bjzhush 通过api查询 有办法得到某条数据是属于哪个source的么? |
5 bjzhush 2014-08-11 16:39:26 +08:00 @letitbesqzr 这个项目我是去年做的了,用的是PHP的Sphinx API 具体数据里面有没有,我临时搜索了下 根据 http://php.net/manual/en/sphinx.examples.php 貌似是没有来自哪个source的 |
6 letitbesqzr OP @bjzhush 貌似...真就...没办法了 |
7 bjzhush 2014-08-11 16:56:41 +08:00 @letitbesqzr 我觉得你做搜索了,数据却没有做好搜索的准备 加个全局UUID字段或许可以,不过非主键估计比较麻烦 另外就是单独copy出来提供给sphinx做数据源,不过又出现了维护,数据更新同步的额外开销.. |
8 letitbesqzr OP @bjzhush "密码查询网站" 之类的东西,你懂得... 每个表是一个网站的数据.. 不需要更新 维护 请问有什么方案来做? |
9 bjzhush 2014-08-11 17:02:26 +08:00 |
10 letitbesqzr OP @bjzhush 算了 - - 我12亿呢..加上soyun的没导入..估计有15e |
11 bjzhush 2014-08-11 17:15:29 +08:00 你建400个表,分4组,每表1KW数据,也就是每组10亿数据,直接复制批量修改配置文件就OK了 这玩意要的是匹配,所以分开索引分开查是没问题的,你真的不要? 拿到就能直接导数据用哦,很便宜哦,哈哈 |
12 letitbesqzr OP @bjzhush 但我这... 怎么能做到每表1Kw数据... |
13 bjzhush 2014-08-11 17:21:12 +08:00 |
14 bjzhush 2014-08-11 17:21:37 +08:00 @letitbesqzr 还是不在这扯了,和谐... |
15 letitbesqzr OP @bjzhush 实在不行,只有这样了,,,既然我每个表一个index...我就定义一个数组 - - 然后遍历数组挨个index去取数据吧... |
16 bjzhush 2014-08-12 08:42:14 +08:00 @letitbesqzr 那样你检索还有整合结果会非常麻烦,而且整合后结果混乱无序..... 唉,浪费这么多时间瞎折腾,就是一毛不拔 |
17 letitbesqzr OP @bjzhush 怎么会.... 直接foreach 循环就可以了,每个表都是带有来源字段的... 已经完成了.. 不过内存占用有点大.. 19亿数据了 占用了 启动searchd 占用了 30g内存.. 但检索都在一秒内 |