From: William Morgan Date: Mon, 17 Mar 2008 16:27:46 +0000 (-0700) Subject: weird ferret workaround: stringify thread-by-subject queries X-Git-Url: https://git.cworth.org/git?a=commitdiff_plain;h=db4aaf16227a971a4b21881e823c0c3f5b7a728d;p=sup weird ferret workaround: stringify thread-by-subject queries --- diff --git a/lib/sup/index.rb b/lib/sup/index.rb index 7cd7db0..c8c5c26 100644 --- a/lib/sup/index.rb +++ b/lib/sup/index.rb @@ -254,6 +254,7 @@ EOS searched = {} num_queries = 0 + pending = [m.id] if $config[:thread_by_subject] # do subject queries date_min = m.date - (SAME_SUBJECT_DATE_LIMIT * 12 * 3600) date_max = m.date + (SAME_SUBJECT_DATE_LIMIT * 12 * 3600) @@ -268,10 +269,13 @@ EOS q = build_query :qobj => q - pending = @index.search(q).hits.map { |hit| @index[hit.doc][:message_id] } - Redwood::log "found #{pending.size} results for subject query #{q}" - else - pending = [m.id] + p1 = @index.search(q).hits.map { |hit| @index[hit.doc][:message_id] } + Redwood::log "found #{p1.size} results for subject query #{q}" + + p2 = @index.search(q.to_s, :limit => :all).hits.map { |hit| @index[hit.doc][:message_id] } + Redwood::log "found #{p2.size} results in string form" + + pending = (pending + p1 + p2).uniq end until pending.empty? || (opts[:limit] && messages.size >= opts[:limit])