This is a more general solution to the problem referred to in Ticket #158: Use of the the highlight method on a FerretResult? object triggering loading of the AR model instance even when the highlighted fields can be lazy loaded.
Add the following to the top of the method_missing method in ferret_result.rb
if [:highlight, :document_number, :query_for_record].include?(method.to_sym)
@model.send method, id, *args
elsif ...
Then add highlight, document_number, and query_for_record AAF class methods, each taking an id first parameter, and change the instance methods to call these class methods.
One other useful addition to ferret_result to prevent unnecessary AR loading is:
def [](attr) method_missing(attr) end