Skip to content
  • Vishesh Handa's avatar
    XapianSearchStore: Split the string based on + * / - = · 5bdb3292
    Vishesh Handa authored
    When we receive a search string, we typically split it up by spaces and
    dots. Then each sub string is checked, if it is <= 3 characters, we use
    our own expansion scheme (imperfect) otherwise xapians.
    
    We need to use our own completion scheme because xapian's consumes too
    much memory in the case of very few characters. It basically expands the
    string to every possible completion result it has in its db, this
    results in loads and loads of memory being consumed.
    
    We now split based on some extra characters so that when searching for
    '2*2=' will not consume all your RAM in the case when your DB has many
    words starting with 2.
    
    BUG: 332253
    FIXED-IN: 4.13.1
    5bdb3292