First time using TS.
I've seen questions about drilling down on associations for indexing, but 
not what I need.

This are my models:

*Rating.rb*
*belongs_to :associated, polymorphic=> true*
*belongs_to :user*
*#associated is a user that has_one :vendor_detail*
*#user will be user that has_one :couple_detail*

*User.rb*
*has_one :vendor_detail*
*has_one :couple_detail*
*has_many :ratings, as: :associated*


*ThinkingSphinx::Index.define :rating, :with => :active_record do*
* indexes associated_id*
* indexes user.email, :as => :email*
* indexes user.vendor_detail.business_name, :as => :business_name*
* has user_id, updated_at*
*end*


associated_id and user.email return the expected results.
However, ser.vendor_detail.business_name returns empty. I tried adding the 
line  'join user.vendor_detail', but nothing changes.

My development.sphinx.config says:
source rating_core_0
{
  type = mysql
  sql_host = localhost
  sql_user = root
  sql_pass = 
  sql_db = weddingful_dev
  sql_query_pre = SET TIME_ZONE = '+0:00'
  sql_query_pre = SET NAMES utf8
  sql_query = SELECT SQL_NO_CACHE `ratings`.`id` * 12 + 3 AS `id`, 'Rating' 
AS `sphinx_internal_class_name`, `ratings`.`associated_id` AS 
`associated_id`, users.`email` AS `email`, `ratings`.`id` AS 
`sphinx_internal_id`, 'Rating' AS `sphinx_internal_class`, 0 AS 
`sphinx_deleted`, couple_detail.`fname` AS `first_name`, 
`ratings`.`user_id` AS `user_id`, UNIX_TIMESTAMP(`ratings`.`updated_at`) AS 
`updated_at` FROM `ratings` LEFT OUTER JOIN `users` ON `users`.`id` = 
`ratings`.`user_id` LEFT OUTER JOIN `couple_detail` ON 
`couple_detail`.`user_id` = `users`.`id` WHERE (`ratings`.`id` BETWEEN 
$start AND $end) GROUP BY `ratings`.`id`, `ratings`.`associated_id`, 
users.`email`, `ratings`.`id`, couple_detail.`fname`, `ratings`.`user_id`, 
`ratings`.`updated_at` ORDER BY NULL
  sql_query_range = SELECT IFNULL(MIN(`ratings`.`id`), 1), 
IFNULL(MAX(`ratings`.`id`), 1) FROM `ratings` 
  sql_attr_uint = sphinx_internal_id
  sql_attr_uint = sphinx_deleted
  sql_attr_uint = user_id
  sql_attr_timestamp = updated_at
  sql_attr_string = sphinx_internal_class
  sql_attr_string = first_name
  sql_query_info = SELECT `ratings`.* FROM `ratings`  WHERE (`ratings`.`id` 
= ($id - 3) / 12)
}

Any ideas what I'm doing wrong?
Thanks!

-- 
You received this message because you are subscribed to the Google Groups 
"Thinking Sphinx" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/thinking-sphinx.
For more options, visit https://groups.google.com/d/optout.

Reply via email to