You're not to first to report this issue - and again, it's confusing,  
because my test suite says it should work fine (and in the test apps  
for the facet stuff, I'm not having any problems either). Can you try  
the following in script/console for the appropriate model and column  
name:

Model.columns.detect { |col| col.name == "created_on" }.type

Thanks

-- 
Pat

On 28/01/2009, at 1:55 PM, Matt Murphy wrote:

> Pat,
>
> Also, it seems that passing the type :date does not work,  
> while :datetime does, however my underlying column (in mysql) is  
> just a date column, so there is some extra information being returned.
>
> Do you know if it is possible to make it treat the date column as  
> integers or else just dates?  I think before I updated to the latest  
> version passing :date was resulting in integer (unixtime) dates  
> being returned by the call to facets.
>
> -Matt
>
> On Tue, Jan 27, 2009 at 9:39 PM, Matt Murphy <[email protected]> wrote:
> Pat,
>
> Just tested w/o explicitly setting the column types and got the  
> following:
>
>
> NoMethodError: You have a nil object when you didn't expect it!
> The error occurred while evaluating nil.columns
>     from /path/to/project/vendor/plugins/thinking-sphinx/lib/ 
> thinking_sphinx/attribute.rb:230:in `type_from_database'
>     from /path/to/project/vendor/plugins/thinking-sphinx/lib/ 
> thinking_sphinx/attribute.rb:236:in `translated_type_from_database'
>     from /path/to/project/vendor/plugins/thinking-sphinx/lib/ 
> thinking_sphinx/attribute.rb:148:in `type'
>     from /path/to/project/vendor/plugins/thinking-sphinx/lib/ 
> thinking_sphinx/facet.rb:29:in `value'
>     from /path/to/project/vendor/plugins/thinking-sphinx/lib/ 
> thinking_sphinx/facet_collection.rb:17:in `add_from_results'
>     from /path/to/project/vendor/plugins/thinking-sphinx/lib/ 
> thinking_sphinx/collection.rb:118:in `each_with_groupby_and_count'
>     from /path/to/project/vendor/rails/activerecord/lib/ 
> active_record/attribute_methods.rb:211:in `each_with_index'
>     from /path/to/project/vendor/plugins/thinking-sphinx/lib/ 
> thinking_sphinx/collection.rb:117:in `each'
>
>
> -Matt
>
>
> On Mon, Jan 26, 2009 at 9:36 PM, Pat Allan <p...@freelancing- 
> gods.com> wrote:
>
> Ah, I think I've got it figured out. The clue was in an email from
> Nicolas (slainer68), who was having the same problem. It turns out,
> the attribute didn't know which model it belonged to, and that
> information was only provided when indexing happens. Of course, in my
> test suite, indexing happens at the start of every run, hence why I
> was never having problems.
>
> I've now made sure model is set as part of the define_index block, so
> you shouldn't need to explicitly set the type now (and if someone
> could double-check, that would be fantastic).
>
> Cheers
>
> --
> Pat
>
> On 25/01/2009, at 2:05 PM, Matt Murphy wrote:
>
> > Pat,
> >
> > I used :string, :integer, and :datetime.
> >
> > -Matt
> >
> > On Sat, Jan 24, 2009 at 7:33 PM, Pat Allan <p...@freelancing-
> > gods.com> wrote:
> >
> > Each facet is an additional attribute in the underlying setup - so
> > that'd mean indexing is a bit slower, but not noticeably. I think
> > complex SQL queries is far worse at slowing down indexing, via  
> lots of
> > association joins.
> >
> > Also: what was the attribute type for your facet? I need to figure  
> out
> > why you've both had that issue but my tests are fine...
> >
> > Cheers
> >
> > --
> > Pat
> >
> > On 25/01/2009, at 3:46 AM, Matt Murphy wrote:
> >
> > > Also I just realized that I'm wondering about any indexing  
> overhead
> > > imposed by adding facets... thoughts?
> > >
> > > On Sat, Jan 24, 2009 at 11:15 AM, Matt Murphy <[email protected]>
> > > wrote:
> > > Tom & Pat:
> > >
> > > Tom's suggestion worked!
> > >
> > > Thanks much guys,
> > >
> > > -Matt
> > >
> > >
> > > On Sat, Jan 24, 2009 at 7:04 AM, Tom Hunter <[email protected]>
> > > wrote:
> > > Matt,
> > >
> > > I am using it successfully with sphinx 0.9.9.  I had the same  
> error
> > > at first.  Explicitly declaring the type on the field fixed it.   
> For
> > > example:
> > >
> > > has 'category_id, :facet => true
> > >
> > > would cause the same error, but changing it to:
> > >
> > > has 'category_id, :facet => true, :type => :integer
> > >
> > > would fix it.
> > >
> > > This is using MySQL.
> > >
> > > - Tom
> > >
> > >
> > > On Sat, Jan 24, 2009 at 2:55 AM, Pat Allan <p...@freelancing-
> > > gods.com> wrote:
> > >
> > > Hi Matt
> > >
> > > What's your define_index block looking like? I'll double-check the
> > > tests against 0.9.9.
> > >
> > > --
> > > Pat
> > >
> > > On 24/01/2009, at 2:47 PM, Matt Murphy wrote:
> > >
> > > > Pat,
> > > >
> > > > Do you know if facets work in the sphinx-0.9.9 branch?  I'm
> > getting
> > > > an exception when I call Model.facets.  I've just added :facet  
> =>
> > > > true to a few of the columns in the index definition.  Are there
> > any
> > > > column types that can't be treated as a facet?
> > > >
> > > > Error below:
> > > >
> > > > >> Model.facets
> > > > NoMethodError: You have a nil object when you didn't expect it!
> > > > The error occurred while evaluating nil.columns
> > > >     from /path/to/project/vendor/plugins/thinking-sphinx/lib/
> > > > thinking_sphinx/attribute.rb:230:in `type_from_database'
> > > >     from /path/to/project/vendor/plugins/thinking-sphinx/lib/
> > > > thinking_sphinx/attribute.rb:236:in
> > `translated_type_from_database'
> > > >     from /path/to/project/vendor/plugins/thinking-sphinx/lib/
> > > > thinking_sphinx/attribute.rb:148:in `type'
> > > >     from /path/to/project/vendor/plugins/thinking-sphinx/lib/
> > > > thinking_sphinx/facet.rb:29:in `value'
> > > >     from /path/to/project/vendor/plugins/thinking-sphinx/lib/
> > > > thinking_sphinx/facet_collection.rb:17:in `add_from_results'
> > > >     from /path/to/project/vendor/plugins/thinking-sphinx/lib/
> > > > thinking_sphinx/collection.rb:118:in  
> `each_with_groupby_and_count'
> > > >
> > > >
> > > >
> > > >
> > > > On Wed, Jan 21, 2009 at 6:50 PM, Pat Allan <p...@freelancing-
> > > > gods.com> wrote:
> > > >
> > > > Hi Tom
> > > >
> > > > You need to define the facets in your define_index block -
> > either by
> > > > using existing fields or attributes:
> > > >   indexes location, :facet => true
> > > >   has age, :facet => true
> > > > Or by adding an explicit column for the facet:
> > > >   facet location
> > > >
> > > > Keep in mind facets need to have unique names across facets,
> > > > attributes and fields - so you couldn't put all three of the  
> above
> > > > lines together, you'd need to give the last one an alias via
> > the :as
> > > > option.
> > > >
> > > > Once that's set up and you've stopped Sphinx, re-indexed and
> > > > restarted, then you can use it on the model as follows:
> > > >   Model.facets
> > > > Which returns a collection accessible as a hash, with keys for
> > each
> > > > facet and results as the values. You can also drill down into a
> > full
> > > > result set:
> > > >   Model.facets.for(:location => "Melbourne")
> > > >
> > > > There's also a little bit more detail in this gist:
> > > > http://gist.github.com/48328
> > > >
> > > > Multi-model faceting is not supported *yet*, but it's in the
> > > pipeline.
> > > >
> > > > Cheers
> > > >
> > > > --
> > > > Pat
> > > >
> > > > On 22/01/2009, at 4:27 AM, Tom Hunter wrote:
> > > >
> > > > >
> > > > > Could someone give me a brief explanation of how to use the
> > > facets?
> > > > > I'm not sure quite what to put as arguments when calling the
> > > facets
> > > > > method and if anything needs go to in the define_index block?
> > > > Thanks
> > > > > in advance!
> > > > >
> > > > > - Tom Hunter
> > > > >
> > > > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > > >
> >
> >
> >
> >
> >
> > >
>
>
>
>
>
>
> >


--~--~---------~--~----~------------~-------~--~----~
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