AllTextCombinations ( FirstName ) &"¶" & AllTextCombinations ( LastName ) & "¶" & AllTextC
ombinations ( City ) & "¶_ALL_"
The "¶_ALL_" at the end will be important later. That's used to show all the records is the searchfield is empty.
If we have this, we need three additional fields, which will help us to create a 3 word search ability. (note: if you want four words, then you'll need four, but I think 3 must be enough).
I call them SearchField1, SearchField2 and SearchField3, and they are unstored text calculations:
SearchField1:
Let ( s = Substitute ( SearchField_Display ; "-" ; " " ) ;If ( IsEmpty(s) or IsEmpty(MiddleWords(s;1;1)) ;"_ALL_";MiddleWords(s;1;1) ))
SearchField2:
Let ( s = Substitute ( SearchField_Display ; "-" ; " " ) ;If ( IsEmpty(s) or IsEmpty(MiddleWords(s;2;1)) ;"_ALL_";MiddleWords(s;2;1) ))
SearchField3:
Let ( s = Substitute ( SearchField_Display ; "-" ; " " ) ;If ( IsEmpty(s) or IsEmpty(MiddleWords(s;3;1)) ;"_ALL_";MiddleWords(s;3;1) ))
As you may notice the only difference is the word which we get from them.
I also used a Substitute ("-" to a Space char) as my data contained many "-" chars, and I wanted them as different words).
By these we can create a relation to AllVariation:
As you can see we'll have 3 criterias. (If you want 4 word you'll need 4).
After this, if we use the portal filter we'll be able to search for things like: "we la c", or "an li v" or "Bil bar abi" so basically any part of our fields.
I attached a demo file which you can download from here . (right click- save as).