Packaging quantity not searchable

Please provide some more formatting for your code samples (using triple ticks) and also provide fully reproducible examples including sample documents and full index mapping - that makes it easier to reproduce your exact case.

In general this is not a simple task from a search perspective. First as already noted, your users are always searching different, than your data is stored (1kg vs 1 kg is the most simple example). So the main question is, how you can unify that behavior. As usual, the classic answer would be: index time vs. query time. Either you find a way to store 1kg and 1 kg at index time, so that any search would hit, or you unify 1kg to 1 kg (or vice versa) at index & query time to the same tokens.

The problem also does not stop here, as you may need to follow up with normalizing numbers, see here.

If you have good product data, this might be available in dedicated attributes already. If you have a good query parser in your application you might be able to split this from the main query and filter on those attributes. If you are just interesting in some matching, then maybe a regular expression that always splits $number$letters (i.e. 1kg) with a space inbetween, that might be good enough already.

Also, if you do not know, why something does not match, make sure to use the analyze and the explain APIs.

Hope this helps as a start.