Search code examples
full-text-searchsphinx

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


I have Sphinx 0.9.9 and field with type "string". When I store in this field number with length more than 15 (i.e. 123456789123456789), Sphinx can't find it with full equal query.

If I store in this field qwqwwqw 123456789123456789 qqwqw it successfully find result.

Don't have this problem with Sphinx 2.2.

My config:

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 source dump:

<?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>

Solution

  • This is a bug. Fixed in https://github.com/sphinxsearch/sphinx/commit/92f722b71e051312822c18417702c6a75333a03e

    Be aware 0.9.9 is more than 10 years old and has hundreds of other bugs. It's time to upgrade :)