Sphinx 找不到长度超过 15 的数字字符串

Sphinx can't find number string with length more that 15

我有 Sphinx 0.9.9 和类型为 "string" 的字段。当我在此字段中存储长度超过 15 的数字时(即 123456789123456789),Sphinx 无法通过完全相等的查询找到它。

如果我在这个字段中存储 qwqwwqw 123456789123456789 qqwqw 它会成功找到结果。

Sphinx 2.2没有这个问题。

我的配置:

source resource
{
    type = xmlpipe2
    ....
    xmlpipe_field = title
    ....
}
index resources
{
    source          = resource
    path            = ....
    docinfo         = extern
    mlock           = 0
    morphology = stem_enru
    min_stemming_len    = 4
    min_word_len        = 3
    charset_type        = utf-8
    charset_table       = 0..9, A..Z->a..z, _, a..z, U+410..U+42F->U+430..U+44F, U+430..U+44F, U+002D
}

Xml 源转储:

<?xml version="1.0" encoding="utf-8"?>
<sphinx:docset>

    <sphinx:schema>
        ....
        <sphinx:field name="title" attr="string"/>
        ....
    </sphinx:schema>
    <sphinx:document id="....">
        <title><![CDATA[ .... ]]></title>
    </sphinx:document>
</sphinx:docset>

这是一个错误。固定在 https://github.com/sphinxsearch/sphinx/commit/92f722b71e051312822c18417702c6a75333a03e

请注意 0.9.9 已有 10 多年历史,还有数百个其他错误。是时候升级了:)