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 <[email protected]> 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