I got the solution:
Change in /includes/search_utils.php:
Insert in line 97:
function bettersearch($val)
{
$pattern = "/[\s,\*]*\\\"([^\\\"]+)\\\"[\s,\*]*|" . "[\s,\*]*'([^']+)'[\s,\*]*|" . "[\s,\*]+/";
$words = preg_split($pattern, $val, 0, PREG_SPLIT_NO_EMPTY | PREG_SPLIT_DELIM_CAPTURE);
array_walk($words, create_function('&$v,$k', '$v = "*" . $v . "*";'));
$words = implode(" ", $words);
return $words;
}
Change the code (line 106, after insert the mentioned function):
function prepare_searchwords_for_search($val)
{
$val = clean_search_word($val);
// $val = preg_replace('/\s+/', ' ', $val);
$val = bettersearch($val); //bettersearch fix
$stopword_list = get_stopwords();
$tokens = array();
$modifier = null;
...
...
What this fix does:
If your search is for example:
*Keyword1* Keyword2, Keyword3 Keyword4
The function generates:
*Keyword1* *Keyword2* *Keyword3* *Keyword4*