Actually I figured that out later and I am re-writing the search. Now it is working, but when I deploy in production I still get the error that show field is not found in shema, but is is in the shema nd in the indexes. I re-executed the indexer in production but still the same damn error
On Mar 3, 12:45 pm, Pat Allan <[email protected]> wrote: > Ah, I see... it goes into both SQL, or Sphinx - so if you still want it to > apply to SQL, move it within the else block :) > > -- > Pat > > On 03/03/2011, at 10:42 PM, rtacconi wrote: > > > oh god I though it was SQL instead is going into Shpinx's query. > > > Thanks a lot > > > On Mar 3, 12:30 pm, Pat Allan <[email protected]> wrote: > >> It's because of the first line in your index action: > > >>> conditions = (current_user && current_user.is_power? ? {} : {:show > >>> => true}) > > >> If a user is logged in and has power, then it adds :show => true to the > >> conditions. Perhaps you want to remove that line? > > >> -- > >> Pat > > >> On 03/03/2011, at 10:24 PM, rtacconi wrote: > > >>> Hi, > > >>> I have this code (developed by someone else: > > >>> def index > >>> conditions = (current_user && current_user.is_power? ? {} : {:show > >>> => true}) > >>> if params[:search] > >>> conditions = conditions.merge({:home_climate_zones => > >>> params[:climate_zone]}) if params[:climate_zone].present? > >>> @users = User.search(params[:search] || "", :conditions => > >>> conditions ) > >>> @users = @users.select {|u| u.has_user_type?(params[:type])} if > >>> params[:type].present? > >>> @total = @users.size > >>> @users = @users.sort_by {|e| [e.posts.last.try(:created_at) || > >>> 10.years.ago] }.reverse > >>> @users = @users.paginate(:per_page => 9, :page => params[:page] > >>> || 1) > >>> else > >>> @users = User.paginate(:conditions => conditions, :per_page => > >>> 9, :page => params[:page], :include => :posts, :order => > >>> "posts.created_at DESC, users.created_at DESC") # Not you! > >>> @total = User.count > >>> end > >>> @featured = User.featured > >>> @map_users = User.with_lat_lng.all(:select => 'id, lat, > >>> lng', :include => :posts, :order => "posts.created_at DESC") > >>> end > > >>> The output of the rebuild: > > >>> indexing index 'project_core'... > >>> collected 234 docs, 0.9 MB > >>> sorted 0.1 Mhits, 100.0% done > >>> total 234 docs, 870847 bytes > >>> total 0.454 sec, 1917016 bytes/sec, 515.10 docs/sec > >>> indexing index 'project_delta'... > >>> collected 0 docs, 0.0 MB > >>> total 0 docs, 0 bytes > >>> total 0.011 sec, 0 bytes/sec, 0.00 docs/sec > >>> distributed index 'project' can not be directly indexed; skipping. > >>> indexing index 'user_core'... > >>> collected 722 docs, 0.0 MB > >>> sorted 0.0 Mhits, 100.0% done > >>> total 722 docs, 26907 bytes > >>> total 0.036 sec, 727570 bytes/sec, 19523.01 docs/sec > >>> distributed index 'user' can not be directly indexed; skipping. > >>> total 10 reads, 0.002 sec, 50.8 kb/call avg, 0.2 msec/call avg > >>> total 21 writes, 0.001 sec, 55.9 kb/call avg, 0.0 msec/call avg > >>> Started successfully (pid 3304). > > >>> I want to mention the show is a user field but it is a reserved word > >>> in Mysql. I have been thinking to rename it, but I still do not > >>> understand why Shinx is 'interested' in the show field. > > >>> On Mar 3, 12:19 pm, Pat Allan <[email protected]> wrote: > >>>> What is your search query? And what's the output when you run ts:rebuild? > > >>>> -- > >>>> Pat > > >>>> On 03/03/2011, at 10:08 PM, rtacconi wrote: > > >>>>> I the Usr model I have the following index > > >>>>> define_index do > >>>>> indexes first_name, :sortable => true > >>>>> indexes last_name, :sortable => true > >>>>> indexes city > >>>>> indexes state > >>>>> indexes country > >>>>> # indexes aid_work > >>>>> # indexes consultant > >>>>> # indexes home_climate_zones > >>>>> # indexes pdc_teacher > >>>>> # has show > > >>>>> set_property :delta => true > > >>>>> # indexes posts.created_at, :as => :posts > >>>>> end > > >>>>> I am getting this error: > > >>>>> index user_core,user_delta: query error: no field 'show' found in > >>>>> schema > > >>>>> I rebuild the index but still getting that error. Any idea why? > > >>>>> -- > >>>>> 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 > >>>>> athttp://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 > >>> athttp://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 > > athttp://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.
