Оказывается, что это может быть скорее причуда с act_as_solr, чем с solr / lucene.
Я воспользовался опцией fq в solr
http://wiki.apache.org/solr/CommonQueryParameters#fq
запрос больше не выглядит как
(foo AND status:published)
больше похоже на
q=foo&fq=status:published
когда оно достигает Solr
fq не влияет на выделение, и кажется, что это лучший способ сделать это, поскольку вы получаете некоторые преимущества кэширования solr.
Все еще есть ошибка / функция, не реализованная с act_as_solr, которая также должна использовать это преимущество.
Например, если моя модель называется article, а пользователь ищет слово article, AAS создает закулисный запрос, похожий на
(article AND type_t:article)
Это вызывает ту же проблему, что слово article выделяет повсеместно, когда вы этого не хотите, а также когда пользователь ищет термин «article», он возвращает каждый отдельный объект в системе. * * 1021
Быстро взглянул на вилки GitHub для activ_as_solr и не увидел никого, кто бы это реализовал. Внутри parser_methods.rb
есть хороший #TODO.