1
bjzhush 2014-08-11 16:24:12 +08:00 1
我之前做的是所有表的主键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
以上我的做法是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内存.. 但检索都在一秒内
|