sphinx 增量索引与主索引使用测试

简介: 2013年10月28日 15:01:16 首先对新增的商品建立增量索引,搜索时只使用增量索引: 1 array (size=1) 2 0 => 3 array (size=6) 4 'gid' => string '300233' (length=6) 5...

2013年10月28日 15:01:16

首先对新增的商品建立增量索引,搜索时只使用增量索引:

1 array (size=1)
2   0 => 
3     array (size=6)
4       'gid' => string '300233' (length=6)
5       'weight' => string '1500' (length=4)
6       'comweight' => float 1
7       'ge' => string '70' (length=2)
8       'ce' => string '34' (length=2)
9       'mysum' => string '104' (length=3)
View Code

新商品的id:300233 权重: 1500

然后重建主索引,搜索时只使用主索引:

 1 2 => 
 2     array (size=6)
 3       'gid' => string '300231' (length=6)
 4       'weight' => string '1690' (length=4)
 5       'comweight' => float 1
 6       'ge' => string '70' (length=2)
 7       'ce' => string '34' (length=2)
 8       'mysum' => string '104' (length=3)
 9   3 => 
10     array (size=6)
11       'gid' => string '300232' (length=6)
12       'weight' => string '1690' (length=4)
13       'comweight' => float 1
14       'ge' => string '70' (length=2)
15       'ce' => string '34' (length=2)
16       'mysum' => string '104' (length=3)
17   4 => 
18     array (size=6)
19       'gid' => string '300233' (length=6)
20       'weight' => string '1690' (length=4)
21       'comweight' => float 1
22       'ge' => string '70' (length=2)
23       'ce' => string '34' (length=2)
24       'mysum' => string '104' (length=3)
View Code

此时,那个新商品(id:300233)的权重变为 1690

再然后搜索时同时使用增量索引和主索引

 1 $sphObj->query($keyword, 'goods,goods_zl');
 2 
 3 2 => 
 4     array (size=6)
 5       'gid' => string '300231' (length=6)
 6       'weight' => string '1690' (length=4)
 7       'comweight' => float 1
 8       'ge' => string '70' (length=2)
 9       'ce' => string '34' (length=2)
10       'mysum' => string '104' (length=3)
11   3 => 
12     array (size=6)
13       'gid' => string '300232' (length=6)
14       'weight' => string '1690' (length=4)
15       'comweight' => float 1
16       'ge' => string '70' (length=2)
17       'ce' => string '34' (length=2)
18       'mysum' => string '104' (length=3)
19   4 => 
20     array (size=6)
21       'gid' => string '300233' (length=6)
22       'weight' => string '1500' (length=4)
23       'comweight' => float 1
24       'ge' => string '70' (length=2)
25       'ce' => string '34' (length=2)
26       'mysum' => string '104' (length=3)
View Code

此时的结果说明:增量索引中该新商品覆盖掉了主索引中的那个商品, but why!?

然后一个有意思的测试,在查询时调换下两个索引的前后顺序(第一行代码),结果:

 1 $sphObj->query($keyword, 'goods_zl,goods');
 2 
 3 2 => 
 4     array (size=6)
 5       'gid' => string '300231' (length=6)
 6       'weight' => string '1690' (length=4)
 7       'comweight' => float 1
 8       'ge' => string '70' (length=2)
 9       'ce' => string '34' (length=2)
10       'mysum' => string '104' (length=3)
11   3 => 
12     array (size=6)
13       'gid' => string '300232' (length=6)
14       'weight' => string '1690' (length=4)
15       'comweight' => float 1
16       'ge' => string '70' (length=2)
17       'ce' => string '34' (length=2)
18       'mysum' => string '104' (length=3)
19   4 => 
20     array (size=6)
21       'gid' => string '300233' (length=6)
22       'weight' => string '1690' (length=4)
23       'comweight' => float 1
24       'ge' => string '70' (length=2)
25       'ce' => string '34' (length=2)
26       'mysum' => string '104' (length=3)
View Code

结论,相同的商品在主索引和增量索引中只保留一个,根据查询语句中的顺序后者索引会覆盖掉前边索引里相同的商品(或文档)

还有诡异的事情,未完待续... ...

目录
相关文章
|
监控 NoSQL 前端开发
软件测试|Mongodb的分页优化及索引使用
软件测试|Mongodb的分页优化及索引使用
409 0
软件测试|Mongodb的分页优化及索引使用
|
4月前
|
SQL 存储 关系型数据库
MySQL存储过程——Baidu Comate智能代码助手添加20条DML语句——测试索引效果
MySQL存储过程——Baidu Comate智能代码助手添加20条DML语句——测试索引效果
29 0
|
12月前
|
SQL 缓存 关系型数据库
PolarDB-X 混沌测试实践:如何衡量数据库索引选择能力
随着PolarDB分布式版的不断演进,功能不断完善,新的特性不断增多,整体架构扩大的同时带来了测试链路长,出现问题前难发现,出现问题后难排查等等问题。原有的测试框架已经难以支撑实际场景的复杂模拟测试。因此,我们实现了一个基于业务场景面向优化器索引选择的混沌查询实验室,本文之后简称为CEST(complex environment simulation test)。
|
SQL 分布式计算 运维
【大数据开发运维解决方案】Sqoop增量同步mysql/oracle数据到hive(merge-key/append)测试文档
上一篇文章介绍了sqoop全量同步数据到hive, 本片文章将通过实验详细介绍如何增量同步数据到hive,以及sqoop job与crontab定时结合无密码登录的增量同步实现方法。
【大数据开发运维解决方案】Sqoop增量同步mysql/oracle数据到hive(merge-key/append)测试文档
ES删除索引和测试关于文档的操作
ES删除索引和测试关于文档的操作
测试关于索引的操作- 修改索引
测试关于索引的操作- 修改索引
测试关于索引的操作-创建索引
测试关于索引的操作-创建索引
|
关系型数据库 MySQL 索引
mysql普通索引和联合索引测试
mysql普通索引和联合索引测试
143 0
|
SQL 存储 搜索推荐
|
测试技术 数据库 索引
软件测试面试题:主键、外键的作用,索引的优点与不足?
软件测试面试题:主键、外键的作用,索引的优点与不足?
121 0
下一篇
无影云桌面