For a quick fix you can try this, but it will be much slower when the system is loaded. Edit file 'application/models/searchable_objects/SearchableObjects.class.php' and change around line 113 from:
if($include_private) {
if (substr(Localization::instance()->getLocale(),0,2) == 'zh')
return DB::prepareString('`content` LIKE \'%' . $search_for . '%\'' . $wsSearch . $trashed . $otSearch . $columnsSearch );
else
return DB::prepareString('MATCH (`content`) AGAINST (\'' . $search_for . '\' IN BOOLEAN MODE)' . $wsSearch . $trashed . $otSearch . $columnsSearch );
} else {
if (substr(Localization::instance()->getLocale(),0,2) == 'zh')
return DB::prepareString('`content` LIKE \'%' . $search_for . '%\' AND `is_private` = 0' . $wsSearch . $trashed . $otSearch . $columnsSearch );
else
return DB::prepareString('MATCH (`content`) AGAINST (\'' . $search_for . '\' IN BOOLEAN MODE) AND `is_private` = 0' .$wsSearch . $trashed . $otSearch . $columnsSearch);
} // if
to:
if($include_private) {
if (true || substr(Localization::instance()->getLocale(),0,2) == 'zh')
return DB::prepareString('`content` LIKE \'%' . $search_for . '%\'' . $wsSearch . $trashed . $otSearch . $columnsSearch );
else
return DB::prepareString('MATCH (`content`) AGAINST (\'' . $search_for . '\' IN BOOLEAN MODE)' . $wsSearch . $trashed . $otSearch . $columnsSearch );
} else {
if (true || substr(Localization::instance()->getLocale(),0,2) == 'zh')
return DB::prepareString('`content` LIKE \'%' . $search_for . '%\' AND `is_private` = 0' . $wsSearch . $trashed . $otSearch . $columnsSearch );
else
return DB::prepareString('MATCH (`content`) AGAINST (\'' . $search_for . '\' IN BOOLEAN MODE) AND `is_private` = 0' .$wsSearch . $trashed . $otSearch . $columnsSearch);
} // if
Please tell us how it worked for you, and if you can please try this with a big load on the system (tens of thousands of objects) and compare it to the previous search.
Thanks.