Method (plugin free?) to combine search results across multiple searches (and element types) So I have created a combined search for products and entries using the new Craft 2.5 search score.  It's working well, but...I was hoping to be able to do this without a plugin if possible ... but it doesn't seem immediately possible to do unless I am missing something.

If anyone knows a way, it would be much appreciated.  In the meantime I'll post the solution I have come up with as an answer below.
To get this working I submitted a patch to 'SortByField' - https://github.com/dannynimmo/craftcms-sortbyfield - to get this plugin to work with Commerce products - and I now do this:

    {% set product_results = craft.commerce.products.search(query).order('score') %}  
    {% set article_results = craft.entries.search(query).order('score') %}
    {% set all_results = [] %}

    {% if product_results|length %}
        {% set all_results = all_results|merge(product_results) %}
    {% endif %}
    {% if article_results|length %}
        {% set all_results = all_results|merge(article_results) %}
    {% endif %}

    {% if all_results|length %}
        {% set all_results = all_results|sortByField('searchScore', 'desc') %}
    etc.


Which is working well and the combined results make sense to me.

I am just wondering if their is a better/recommended and ideally plugin free way of doing this - i.e. sorting the combined result set by score?