Our purpose is shrink the length of param, the only way is split it to multiple parts. The result of CONTAINSTABLE is a rowset like table, so it can JOIN with standard table. So it can runs UNION. That the reason we can resolve your requirement. We can split the condition to parts and execute them with CONTAINSTABLE mutiple times, at last stick each of results together by UNION.
I split your code, cut line 2nd and 4th to 2 parts, because them looks longer.
I treated line 1st 3rd, 5th as one piece, because they are all connected by AND. It can be named A.
Line 2nd was split to 2 parts, named B and C, so line 2nd = B | C.
So did line 4th , named D and E, line 4th = D | E.
Now, total condition string is simpfied to A & (B | C) & (D| E).
Expanding the expression, it will be (A & B & D) | (A & B & E) | (A & C & D) | (A & C & E).
UNION can be treated as OR, replace it in the expression, can get
(A & B & D)
UNION
(A & B & E)
UNION
(A & C & D)
UNION
(A & C & E)
Use this to process your condition, get the code as in the attachment, and it should be look like this
