* Fallback to Database search when ES not available
* Prevent double work if ES gives 0 result
* Apply suggestion from code review
return [] if limit_for_non_exact_results.zero?
@search_results ||= begin
- if Chewy.enabled?
- from_elasticsearch
- else
- from_database
- end
+ results = from_elasticsearch if Chewy.enabled?
+ results ||= from_database
+ results
end
end
ActiveRecord::Associations::Preloader.new.preload(records, :account_stat)
records
+ rescue Faraday::ConnectionFailed, Parslet::ParseFailed
+ nil
end
def reputation_score_function
@offset = options[:offset].to_i
@limit = options[:limit].to_i
- if Chewy.enabled?
- from_elasticsearch
- else
- from_database
- end
+ results = from_elasticsearch if Chewy.enabled?
+ results ||= from_database
+
+ results
end
private
}
TagsIndex.query(query).filter(filter).limit(@limit).offset(@offset).objects.compact
+ rescue Faraday::ConnectionFailed, Parslet::ParseFailed
+ nil
end
def from_database