Ah, so everything's working nicely now? :)

-- 
Pat

On 05/03/2011, at 5:39 AM, rtacconi wrote:

> show it is an attribute, I moved it to :with and worked
> 
> rtacconi wrote:
>> Any idea? I am really stucked :-(
>> 
>> On Mar 4, 3:42 pm, rtacconi <[email protected]> wrote:
>>> Wehn I run rake ts:rebuild, with 'has created_at, updated_at, show' I
>>> get:
>>> 
>>> Cannot automatically map attribute show in Project to an
>>> equivalent Sphinx type (integer, float, boolean, datetime, string as
>>> ordinal).
>>> You could try to explicitly convert the column's value in your
>>> define_index
>>> block:
>>>   has "CAST(column AS INT)", :type => :integer, :as => :column
>>> 
>>> Show column in a MySql tinyint(1)
>>> 
>>> On Mar 4, 3:19 pm, rtacconi <[email protected]> wrote:
>>> 
>>>> I really do not know how to remove the error. Why Sphinx does not find
>>>> 'show' field?
>>> 
>>>> On Mar 4, 10:54 am, rtacconi <[email protected]> wrote:
>>> 
>>>>> It happens in my mac too, when I am logged out, because it
>>>>> includes :show => true in the conditions (see controller's code)
>>> 
>>>>> On Mar 4, 10:51 am, rtacconi <[email protected]> wrote:
>>> 
>>>>>> Hi Pat,
>>> 
>>>>>> my new search without SQL:
>>> 
>>>>>>     conditions = (current_user && current_user.is_power? ? {} : {:show
>>>>>> => true})
>>>>>>     conditions["project_type"] = params[:type] if
>>>>>> params[:type].present?
>>>>>>     conditions["climate_zone"] = params[:climate] if
>>>>>> params[:climate].present?
>>>>>>     @projects = Project.search(params[:search], :page =>
>>>>>> params[:page], :per_page => 8,
>>>>>>                                 :conditions => conditions,
>>>>>>                                 :sort_mode => :extended,
>>>>>>                                 :order => "updated_at DESC, created_at
>>>>>> DESC")
>>>>>>     @map_projects = @projects.reject {|a| a.lat.blank? ||
>>>>>> a.lng.blank? }
>>>>>>     @total = @projects.total_entries
>>> 
>>>>>> You will see the show property again, I need it to hide hidden
>>>>>> projects to normal users. Show field is in my index (from app/model/
>>>>>> Project.rb:
>>> 
>>>>>>     indexes name
>>>>>>     indexes summary
>>>>>>     indexes description
>>>>>>     indexes phone
>>>>>>     indexes email
>>>>>>     indexes website
>>>>>>     indexes climate_zone
>>>>>>     indexes city
>>>>>>     indexes address
>>>>>>     indexes state
>>>>>>     indexes post_code
>>>>>>     indexes country
>>>>>>     indexes project_type
>>> 
>>>>>>     has created_at, updated_at, show
>>> 
>>>>>>     indexes posts.created_at, :as => :posts
>>>>>>     set_property :delta => true
>>> 
>>>>>> Show is a tinyint(1), I am using MySql. In my mac everything is ok but
>>>>>> in production I get 'Production: ThinkingSphinx::SphinxError: index
>>>>>> user_core,user_delta: query error: no field 'show' found in schema'.
>>>>>> Yes I run the rake task, CApistrano daes it at every deployment, but I
>>>>>> tried even manually. I always get that error.
>>> 
>>>>>> Any thoughts?
>>> 
>>>>>> On Mar 4, 1:12 am, Pat Allan <[email protected]> wrote:
>>> 
>>>>>>> Have you run 'rake ts:rebuild' on production? And where in your code is 
>>>>>>> the search happening that's causing the error? The same place?
>>> 
>>>>>>> --
>>>>>>> Pat
>>> 
>>>>>>> On 04/03/2011, at 6:11 AM, rtacconi wrote:
>>> 
>>>>>>>> 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
>>> 
>>> ...
>>> 
>>> read more ยป
> 
> -- 
> 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