Linux | ES 7.7 |PHP+Laravel6+Scout
So I should start by explaining what an MPN is just in case you don't know. It is simply an abbreviation of Model Part Number and most products on the planet have it. Others have EAN, ISBN (books), etc.
I should also mention that I'm quite the novice when it comes to Elastic, but I'm very comfortable with my other tech in my stack.
Having the following products:
- Samsung UE43TU7072
- LG 32LK6200
- Samsung UE43RU7092
- LG 43UM7100
- Hitachi 32HE4100
- Samsung UE55RU7092
All are TVs btw
With a search query "43 inch samsung tv", I get 0 results when doing minimum_should_match 100% and totally random results from the 2.6m document index when doing 75% minimum_should_match. The totally random results, are TV remotes for Samsung TV's an various other TV accessories, like antennas and TV stands or mounts.. etc. I also run category aggregations and brand aggregations and the doc counts are:
For categories:
- 185 TV's
- 107 Remotes
- 18 TV Mounts
- 1 Antenna
For brands:
- 239 Samsung
- 42 OEM
- 5 Superior
- ...
- lots of 1 product match brands
The titles are actually stored with "enhanced" data in them and are of the text field type. As an example for what I mean with "enhanced" the 1st in the above list is stored as: "TV Category Samsung UE43TU7072" I'm still doing experiments to find a good formula for the titles. Every category eventually will follow an optimized title convention, but this is off-topic.
My question is, why isn't it matching various Samsung TVs that have the size number in the query? How can I make it match, eg. the 43 with UE43TU7072. It clearly has 43 in it.