Hi folks !

Currently i'm trying to solve a problem. With conditions to exclude
something, TS return 0 row.

Let's me show you my situation :

-------------------------------------------------------

My UserProfile Model

define index do

   indexes :last_name, :sortable => true, :facet => true
   indexes :first_name, :sortable => true, :facet => true

   set_property :enable_star => 1
   set_property :min_prefix_len => 1
end

-------------------------------------------------------

Data in my database

first_name / last_name

ALLAINooooo Pierre
Zebulon Mickaël
ALLAIN  Plopinou
ALLAIN  Pierre
Zabbuli zezeze
Zebulon Elodie
Zebulon Blanchard
Zabbuli Pierrot
Zebruska Pierre
Ungant  Pierre

-------------------------------------------------------

My Searches controller

Different Way.

First : Search with OR Include on last_name (done)
------------------------------------

@searches = ThinkingSphinx::Search.search(session[:query], :per_page
=> self.per_page, :classes => [UserProfile], :match_mode
=> :boolean, :conditions => {:last_name => '(ALLAIN | Zebulon)'})

On Log we will see
Sphinx: @last_name (ALLAIN | Zebulon)

And the result is

Plopinou ALLAIN / Pierre ALLAIN / Mickaël Zebulon / Elodie Zebulon /
Blanchard Zebulon

No problem.


Second : Search with Exclude on last_name (Wrong..)
------------------------------------------

searches = ThinkingSphinx::Search.search(session[:query], :per_page =>
self.per_page, :classes => [UserProfile], :match_mode
=> :boolean, :conditions => {:last_name => '(!Zebulon)'})

On log we will see
Sphinx: @last_name (!ALLAIN)

And the result is...NOTHING, but no exception

--- --- --- --- --- --- --- --- ---

If I try another exclude pattern

searches = ThinkingSphinx::Search.search(session[:query], :per_page =>
self.per_page, :classes => [UserProfile], :match_mode
=> :boolean, :conditions => {:last_name => '!Zebulon'})

On log we will see
Sphinx: @last_name !ALLAIN

But it result an exception like that :

Riddle::ResponseError (No response from searchd (status: ,
version: )):
    /vendor/plugins/thinking-sphinx/lib/../vendor/riddle/lib/riddle/
client.rb:466:in `request'
    /vendor/plugins/thinking-sphinx/lib/../vendor/riddle/lib/riddle/
client.rb:180:in `run'
    /vendor/plugins/thinking-sphinx/lib/../vendor/riddle/lib/riddle/
client.rb:287:in `query'
    /vendor/plugins/thinking-sphinx/lib/thinking_sphinx/search.rb:
396:in `search_results'
    /vendor/plugins/thinking-sphinx/lib/thinking_sphinx/search.rb:
278:in `search'
    /vendor/plugins/thinking-sphinx/lib/thinking_sphinx/search.rb:
302:in `call'
    /vendor/plugins/thinking-sphinx/lib/thinking_sphinx/search.rb:
302:in `retry_search_on_stale_index'
    /vendor/plugins/thinking-sphinx/lib/thinking_sphinx/search.rb:
277:in `search'
    /app/controllers/searches_controller.rb:190:in `addfilter'
    /opt/ree/lib/ruby/gems/1.8/gems/actionpack-2.2.2/lib/
action_controller/base.rb:1253:in `send'
    /opt/ree/lib/ruby/gems/1.8/gems/actionpack-2.2.2/lib/
action_controller/base.rb:1253:in `perform_action_without_filters'
    /opt/ree/lib/ruby/gems/1.8/gems/actionpack-2.2.2/lib/
action_controller/filters.rb:617:in `call_filters'
    /opt/ree/lib/ruby/gems/1.8/gems/actionpack-2.2.2/lib/
action_controller/filters.rb:610:in `perform_action_without_benchmark'
    /opt/ree/lib/ruby/gems/1.8/gems/actionpack-2.2.2/lib/
action_controller/benchmarking.rb:68:in
`perform_action_without_rescue'
    /opt/ree/lib/ruby/1.8/benchmark.rb:293:in `measure'

Anyone have some advice for me ?

Thank's in advance.

Mickaël.
--~--~---------~--~----~------------~-------~--~----~
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