Рассматривали ли вы экранирование специальных символов вместо использования оператора raw?http://lucene.apache.org/java/2_4_0/queryparsersyntax.html#Escaping%20Special%20Characters
Экранирование довольно просто реализовать, и оператор ИЛИ должен работать как положено.Вот пример того, как экранировать специальные символы в PHP:
static public function escapeSolrValue($string)
{
$match = array('\\', '+', '-', '&', '|', '!', '(', ')', '{', '}', '[', ']', '^', '~', '*', '?', ':', '"', ';', ' ');
$replace = array('\\\\', '\\+', '\\-', '\\&', '\\|', '\\!', '\\(', '\\)', '\\{', '\\}', '\\[', '\\]', '\\^', '\\~', '\\*', '\\?', '\\:', '\\"', '\\;', '\\ ');
$string = str_replace($match, $replace, $string);
return $string;
}
Источник: http://e -mats.org / 2010/01 / escaping-characters-in-a-Solr-запрос-Solr-URL /