Searching for any keyword in query
One way to do it is to split the search query on spaces, and then join it with 'OR':

{% set query = craft.request.getParam('q')|split(' ')|join(' OR ') %}
{% set entries = craft.entries.search(query).order('score') %}


The above will convert the search term "salty dog" to "salty OR dog". It'll work regardless of the number of keywords in the original search query string.

You should probably also make sure that you remove redundant whitespace from the original query, if you don't then a search query like "salty  dog" (double space) will result in a query like "salty OR OR dog". Here's how you could do that using some regex and the replace filter:

{% set query = craft.request.getParam('q')|replace('/(( )+|(\\n)+)/', ' ')|split(' ')|join(' OR ') %}