Probably because you have indexed normal with the default analyzer which indexed it as normal.
no is not normal so that does not match.
May be use a different analyzer which can produces subtokens like no, nor, norm, norma and normal? Like a edge ngram based analyzer...
If you don't succeed, could you provide a full recreation script as described in About the Elasticsearch category. It will help to better understand what you are doing. Please, try to keep the example as simple as possible.
A full reproduction script will help readers to understand, reproduce and if needed fix your problem. It will also most likely help to get a faster answer.