Predictive Search – a solution to search contains

Predictive Search – a solution to search contains

Predictive search for Kinetic was originally searching “Contains” in the description or name.

When revision 2024.1 came out it was changed to “begins with” because that is what the Classic screens would do. After many discussions with support and non-with product managers the decision stuck. Epicor switch Kinetic 2024.1 do predictive search to “begins with”.

Frustrated, I came up with an approach that will search based on each word in the description.

First I took all spaces and replaced them with a “~”

Part Description TildeDesc
AS-036 6061-T6 ALS .036" x 48" x 144" 6061~T6~ALS~.036"~x~48"~x~144"

Then separated the words into Desc1, Desc2, …

Part AS-036
Description 6061-T6 ALS .036" x 48" x 144"
TildeDesc 6061~T6~ALS~.036"~x~48"~x~144"
Desc1 6061
Desc2 T6
Desc3 ALS
Desc4 .036"
Desc5 x
Desc52 48"
Desc7 x
Desc8 144"
Desc9
Desc10

Then using a UnionAll subquery setup a search subquery.

The search phrase is the description prefixed with each word so when you search you will find your parts. (or customers or suppliers)

Part Desc1 Description search Word
AS-036 6061 6061-T6 ALS .036" x 48" x 144" 6061-6061-T6 ALS .036" x 48" x 144" 1
AS-036 T6 6061-T6 ALS .036" x 48" x 144" T6-6061-T6 ALS .036" x 48" x 144" 2
AS-036 ALS 6061-T6 ALS .036" x 48" x 144" ALS-6061-T6 ALS .036" x 48" x 144" 3
AS-036 .036" 6061-T6 ALS .036" x 48" x 144" .036"-6061-T6 ALS .036" x 48" x 144" 4
AS-036 x 6061-T6 ALS .036" x 48" x 144" x-6061-T6 ALS .036" x 48" x 144" 5
AS-036 48" 6061-T6 ALS .036" x 48" x 144" 48"-6061-T6 ALS .036" x 48" x 144" 6
AS-036 x 6061-T6 ALS .036" x 48" x 144" x-6061-T6 ALS .036" x 48" x 144" 7
AS-036 144" 6061-T6 ALS .036" x 48" x 144" 144"-6061-T6 ALS .036" x 48" x 144" 8

PartContains - 2024.1.baq (40.6 KB)

5 Likes

Creative solution

I had some free time so I have updated this BAQ.
The first subquery defines what you are searching.
Customer, Supplier, Part, etc.
That’s the only change required to setup a BAQ for a predictive search.

CustomerContains - 20241125.baq (84.8 KB)

2 Likes

Awesome thanks Bruce.
PS on our current version 11.2.400.10 I tried Predictive Search on Parts but because we have so many (60,000 odd) and because the “return top xxx rows” seems not to work in this version, the part predictive search never worked for us. If that starts working in the update we will be trialling then I’ll take “begins with” as a one step back, two steps forward win.

Good luck with predictive.
Glad to help you out with this.
Epicor development was dead set on the approach of begins with.