zoukankan      html  css  js  c++  java
  • sphinx 增量索引与主索引使用测试

    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

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

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

  • 相关阅读:
    利用Connect By构造数列
    Linux学习4——Vim和Bash
    Linux学习3——磁盘文件管理系统与压缩和打包操作
    Linux学习2——文件与目录
    Linux学习1——首次登录
    Linux系统的简介及Linux系统的安装
    Windows系统的安装
    5月份的技术总结
    计算机网络基本概念
    软件测试基础概念摘要
  • 原文地址:https://www.cnblogs.com/iLoveMyD/p/3392518.html
Copyright © 2011-2022 走看看