Search terms phrase and or

First of all, OR operator has higher precedence than implicit AND, so your query means:

("word1 word2" | word3^20) word4 word5

and not

"word1 word2" | (word3^20 word4 word5)

Also this query doesn’t do what you want. I can try to make better query, but few questions first about what you want:

At 1), do the words word1 and word2 have to be adjacent?

At 2), do you mean:
a) word3 and maybe BOTH of word4 and word5
or
b) word3 and maybe EITHER OR BOTH of word4 and word5

Also if you mean a), then do the words word4 and word5 have to be adjacent?