博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
sphinx 增量索引与主索引使用测试
阅读量:5745 次
发布时间:2019-06-18

本文共 3158 字,大约阅读时间需要 10 分钟。

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 17       '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 114       '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 122       '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 116       '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 124       '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 116       '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 124       'ge' => string '70' (length=2)25       'ce' => string '34' (length=2)26       'mysum' => string '104' (length=3)
View Code

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

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

转载地址:http://hcxzx.baihongyu.com/

你可能感兴趣的文章
在Lync 2013环境部署Office Web Apps
查看>>
微软大会Ignite,你准备好了么?
查看>>
读书笔记-高标管事 低调管人
查看>>
Master带给世界的思考:是“失控”还是进化
查看>>
用户和开发者不满苹果iCloud问题多多
查看>>
java.lang.UnsatisfiedLinkError:no dll in java.library.path终极解决之道
查看>>
我的工具:文本转音频文件
查看>>
【许晓笛】从零开始运行EOS系统
查看>>
【跃迁之路】【460天】程序员高效学习方法论探索系列(实验阶段217-2018.05.11)...
查看>>
C++入门读物推荐
查看>>
TiDB 源码阅读系列文章(七)基于规则的优化
查看>>
面试中会遇到的正则题
查看>>
Spring之旅第八站:Spring MVC Spittr舞台的搭建、基本的控制器、请求的输入、表单验证、测试(重点)...
查看>>
数据结构与算法——常用排序算法及其Java实现
查看>>
你所不知的Webpack-多种配置方法
查看>>
React.js 集成 Kotlin Spring Boot 开发 Web 应用实例详解
查看>>
webpack+typescript+threejs+vscode开发
查看>>
python读excel写入mysql小工具
查看>>
如何学习区块链
查看>>
搜索问题的办法
查看>>