zoukankan      html  css  js  c++  java
  • Lucene Boost 精度表

    Lucene中索引阶段Boost的值会被存放在.nrm文件中,用16进制打开就能看的到。

    每个Boost值最终会被保存于一个Byte中,如果细心的同学就会发现在SetBoost的时候参数类型是float,float是四个字节的,也就是说最后会有精度丢失。
    废了方便查询给出代码和0-255对应的float

    下面是换算的代码:

            public static sbyte FloatToByte315(float f)
            {
                int num = BitConverter.ToInt32(BitConverter.GetBytes(f), 0);
                int num2 = num >> 0x15;
                if (num2 < 0x180)
                {
                    if (num > 0) return 1;
                    return 0;
                }
                if (num2 >= 640) return -1;
                return (sbyte) (num2 - 0x180);
            }
    
            public static float Byte315ToFloat(byte b)
            {
                if (b == 0) return 0f;
                int num = (b & 0xff) << 0x15;
                num += 0x30000000;
                return BitConverter.ToSingle(BitConverter.GetBytes(num), 0);
            }
    

    0
    5.820766E-10
    6.984919E-10
    8.149073E-10
    9.313226E-10
    1.164153E-09
    1.396984E-09
    1.629815E-09
    1.862645E-09
    2.328306E-09
    2.793968E-09
    3.259629E-09
    3.72529E-09
    4.656613E-09
    5.587935E-09
    6.519258E-09
    7.450581E-09
    9.313226E-09
    1.117587E-08
    1.303852E-08
    1.490116E-08
    1.862645E-08
    2.235174E-08
    2.607703E-08
    2.980232E-08
    3.72529E-08
    4.470348E-08
    5.215406E-08
    5.960464E-08
    7.450581E-08
    8.940697E-08
    1.043081E-07
    1.192093E-07
    1.490116E-07
    1.788139E-07
    2.086163E-07
    2.384186E-07
    2.980232E-07
    3.576279E-07
    4.172325E-07
    4.768372E-07
    5.960464E-07
    7.152557E-07
    8.34465E-07
    9.536743E-07
    1.192093E-06
    1.430511E-06
    1.66893E-06
    1.907349E-06
    2.384186E-06
    2.861023E-06
    3.33786E-06
    3.814697E-06
    4.768372E-06
    5.722046E-06
    6.67572E-06
    7.629395E-06
    9.536743E-06
    1.144409E-05
    1.335144E-05
    1.525879E-05
    1.907349E-05
    2.288818E-05
    2.670288E-05
    3.051758E-05
    3.814697E-05
    4.577637E-05
    5.340576E-05
    6.103516E-05
    7.629395E-05
    9.155273E-05
    0.0001068115
    0.0001220703
    0.0001525879
    0.0001831055
    0.000213623
    0.0002441406
    0.0003051758
    0.0003662109
    0.0004272461
    0.0004882813
    0.0006103516
    0.0007324219
    0.0008544922
    0.0009765625
    0.001220703
    0.001464844
    0.001708984
    0.001953125
    0.002441406
    0.002929688
    0.003417969
    0.00390625
    0.004882813
    0.005859375
    0.006835938
    0.0078125
    0.009765625
    0.01171875
    0.01367188
    0.015625
    0.01953125
    0.0234375
    0.02734375
    0.03125
    0.0390625
    0.046875
    0.0546875
    0.0625
    0.078125
    0.09375
    0.109375
    0.125
    0.15625
    0.1875
    0.21875
    0.25
    0.3125
    0.375
    0.4375
    0.5
    0.625
    0.75
    0.875
    1
    1.25
    1.5
    1.75
    2
    2.5
    3
    3.5
    4
    5
    6
    7
    8
    10
    12
    14
    16
    20
    24
    28
    32
    40
    48
    56
    64
    80
    96
    112
    128
    160
    192
    224
    256
    320
    384
    448
    512
    640
    768
    896
    1024
    1280
    1536
    1792
    2048
    2560
    3072
    3584
    4096
    5120
    6144
    7168
    8192
    10240
    12288
    14336
    16384
    20480
    24576
    28672
    32768
    40960
    49152
    57344
    65536
    81920
    98304
    114688
    131072
    163840
    196608
    229376
    262144
    327680
    393216
    458752
    524288
    655360
    786432
    917504
    1048576
    1310720
    1572864
    1835008
    2097152
    2621440
    3145728
    3670016
    4194304
    5242880
    6291456
    7340032
    8388608
    1.048576E+07
    1.258291E+07
    1.468006E+07
    1.677722E+07
    2.097152E+07
    2.516582E+07
    2.936013E+07
    3.355443E+07
    4.194304E+07
    5.033165E+07
    5.872026E+07
    6.710886E+07
    8.388608E+07
    1.006633E+08
    1.174405E+08
    1.342177E+08
    1.677722E+08
    2.013266E+08
    2.34881E+08
    2.684355E+08
    3.355443E+08
    4.026532E+08
    4.69762E+08
    5.368709E+08
    6.710886E+08
    8.053064E+08
    9.395241E+08
    1.073742E+09
    1.342177E+09
    1.610613E+09
    1.879048E+09
    2.147484E+09
    2.684355E+09
    3.221225E+09
    3.758096E+09
    4.294967E+09
    5.368709E+09
    6.442451E+09
    7.516193E+09

  • 相关阅读:
    Angular的执行顺序
    小程序地理位置授权,以及无法打开授权弹框的解决办法
    当需要对一个集合遍历删除元素的时候,都应该倒着删
    .net core部署在CentOS上时关于使用GDI报错的问题
    FactoryMethod(工厂方法模式)
    SimpleFactory(简单工厂模式)
    .net core3.1中swagger的使用
    使用HtmlAgilityPack开发爬虫筛选HTML时,关于xpath的坑
    在centos7.x环境中SQL Server附加数据库
    centos7.x中安装SQL Server
  • 原文地址:https://www.cnblogs.com/jinzhao/p/2513398.html
Copyright © 2011-2022 走看看