That's what I was thinking too, good to see you've got it figured out.

Cheers

-- 
Pat

On 09/05/2012, at 12:02 AM, senthil kumar wrote:

> Hi Pat,
> 
> Thanks for your reply. This is what I have done.
> 
> word_count is the number of words in a document excluding stopwords
> generated by a mysql function.
> 
> with_filter = "*, IF( @weight >=  word_count,1,0) AS filter"
> 
> sphinx_result = ProductsFilterCollections.search('"heat and dust
> hachette book publishing"/1', :match_mode => :extended, :rank_mode
> => :wordcount, :sphinx_select => with_filter, :with => {'filter' =>
> 1})
> 
> sphinx_result.results value is
> {:matches=>[{:doc=>139, :weight=>2, :index=>0, 
> :attributes=>{"sphinx_internal_id"=>46,
> "sphinx_deleted"=>0, "class_crc"=>2200458759,
> "sphinx_internal_class"=>"ProductsFilterCollections",
> "sub_category_id"=>1, "word_count"=>2, "filter"=>1}},
> {:doc=>232, :weight=>2, :index=>1, :attributes=>{"sphinx_internal_id"=>77,
> "sphinx_deleted"=>0, "class_crc"=>2200458759,
> "sphinx_internal_class"=>"ProductsFilterCollections",
> "sub_category_id"=>1, "word_count"=>2,
> "filter"=>1}}], :fields=>["filter_key"], 
> :attributes=>{"sphinx_internal_id"=>1,
> "sphinx_deleted"=>1, "class_crc"=>1, "sphinx_internal_class"=>7,
> "sub_category_id"=>1, "word_count"=>1,
> "filter"=>1}, :attribute_names=>["sphinx_internal_id",
> "sphinx_deleted", "class_crc", "sphinx_internal_class",
> "sub_category_id", "word_count",
> "filter"], :words=>{"heat"=>{:docs=>2, :hits=>2},
> "dust"=>{:docs=>2, :hits=>2},
> "hachette"=>{:docs=>0, :hits=>0}}, :status=>0, :total=>2, :total_found=>2, 
> :time=>0.001}
> 
> @unmatched_keywords = [ ]
> 
> sphinx_result.results[:words].keys.each do |i|
>   if sphinx_result.results[:words][i][:hits] == 0
>     @unmatched_keywords << i
>   end
> end
> 
> Now the value of @unmatched_keywords is ["hachette", "book",
> "publishing"].
> 
> 
> I get what I want.
> 
> Kindly validate.
> 
> Thanks,
> Senthil.
> 
> 
> 
> 
> 
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "Thinking Sphinx" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to 
> [email protected].
> For more options, visit this group at 
> http://groups.google.com/group/thinking-sphinx?hl=en.
> 

-- 
You received this message because you are subscribed to the Google Groups 
"Thinking Sphinx" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/thinking-sphinx?hl=en.

Reply via email to