Pat,
Tried the following:
Recipient.columns.detect { |col| col.name == "created_at" }.type
=> :datetime
My define_index block is:
define_index do
indexes :first_name
indexes :last_name
indexes :email
has "CRC32(state)", :type => :integer, :as => :state, :facet => true
has "CRC32(old_state)", :type => :integer, :as => :old_state, :facet =>
true
has :account_id, :type => :integer, :facet => true
has taggings.tag_id, :as => :tag_ids
has :created_at
has :last_visited_at, :type => :datetime, :facet => true
set_property :delta => true
end
Switching the last_visited_at column to :date causes an error, as does
removing the type from the faceted columns....
On Sun, Feb 1, 2009 at 5:22 AM, Pat Allan <[email protected]> wrote:
>
> 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
-~----------~----~----~----~------~----~------~--~---