Ok I've managed to figure it out thanks to the information here
"There is no direct way to do what you want, but we can create an expression that could get to that. It will be something along the lines of:
Filter(
Projects,
Sum(
ForAll(
Filter(Split(SearchBox.Text, " "), Len(Trim(Result)) > 0),
If(Result in Details, 1, 0)),
Value) > 0)
Let's go through it. This sub-expression:
Filter(Split(SearchBox.Text, " "), Len(Trim(Result)) > 0)
It splits down your search text box into words, and also removes any empty words which you would get if you had two spaces between the words or leading or trailing spaces.
Then, for all words that were split, we see if that word is contained in the Details column of your list; if so we get the value 1, and 0 otherwise. The result of the ForAll sub-expression is a list of values corresponding to each the items in Projects. We then Sum those values. If any of the words from the search box were present in the details, then the sum will be greater than 0.
Finally we can filter the Projects based on that value, which should give you the result you want.
"
Filter(
HelpDeskHowTo,
Sum(
ForAll(
Filter(Split(searchQuery, " "), Len(Trim(Result)) > 0),
If(Result in Keywords, 1, 0)),
Value) > 0)
I think the combination of split and setting a number to a value if it matches then filtering off that has done the trick.
I've now set my text input box to set the searchQuery variable on change so its working beautifully