upgrade backend supporting new keyword matching