Hi Victor

Well, it's great that it works here.

1. You are indeed right, you're indexing columns from the spots association as 
fields.
2. You could add an attribute of trip_id to TripDay's index:
  has trip_id
And then group the results by trip_id...
http://freelancing-god.github.com/ts/en/searching.html#grouping

That said, it *should* work for Trip. Perhaps try stopping Sphinx, deleting the 
index files, and then run rake ts:rebuild to generate it all from scratch for 
sure?

-- 
Pat

On 03/11/2010, at 4:55 PM, Victor wrote:

> Hi Pat,
> 
> I have added indexes to the following
> 
> trip_day.rb
> ========
> class TripDay < ActiveRecord::Base
>  belongs_to :trip
> 
>  has_many :trip_day_spots
>  has_many :spots, :through => :trip_day_spots
> 
>  # ThinkingSphinx Index
>  define_index do
>    indexes spots.name, :as => :spot_name
>    indexes spots.city, :as => :spot_city
>    indexes spots.state, :as => :spot_state
>    indexes spots.country, :as => :spot_country
>  end
>  .
>  .
>  .
> end
> 
> I ran ts:rebuild, then search this in console:
> 
>>> TripDay.search "Cititel Mid Valley"
> => [#<TripDay id: 4, trip_date: "2010-10-06", trip_id: 2, created_at:
> "2010-10-21 10:17:18", updated_at: "2010-10-21 10:17:18">]
> 
> Few questions:
> 
> 1. Previously, was the trip.rb indexing the spots name, city, country,
> etc. correctly? They are indexed, am I right?
> 2. With the TripDay now can be indexed, is there anyway for me to use
> it as search for my Trips?
> 
> Thanks.
> 
> 
> On Nov 2, 11:59 am, Pat Allan <[email protected]> wrote:
>> Of course - though I would prefer a donation once the problem's solved 
>> ;)http://pledgie.com/campaigns/1752
>> 
>> --
>> Pat
>> 
>> On 02/11/2010, at 2:43 PM, Victor wrote:
>> 
>>> No problem Pat. Can I have a link to make donation? :)
>> 
>>> On Nov 2, 8:06 am, Pat Allan <[email protected]> wrote:
>>>> Sorry Victor, I'm out of ideas as to what's causing the problem, beyond 
>>>> investigating it on the server myself (and even then, I couldn't promise 
>>>> anything).
>> 
>>>> --
>>>> Pat
>> 
>>>> On 01/11/2010, at 11:33 PM, Victor wrote:
>> 
>>>>> So when I did the Trip.searc:
>> 
>>>>>>> Trip.search "Inna Putri Bali"
>> 
>>>>> => []
>> 
>>>>> Spots in Trip is not indexed?
>> 
>>>>> I don't have any sphinx scopes.
>> 
>>>>> On Nov 1, 8:29 pm, Pat Allan <[email protected]> wrote:
>>>>>> But you're running these commands via console - so we're avoiding the 
>>>>>> controllers and views, and it's still not working...
>> 
>>>>>> --
>>>>>> Pat
>> 
>>>>>> On 01/11/2010, at 9:27 PM, Victor wrote:
>> 
>>>>>>> Could it be that my filter in view or controller wasn't setup properly
>>>>>>> to search the right place?
>> 
>>>>>>> On Nov 1, 6:21 pm, Pat Allan <[email protected]> wrote:
>>>>>>>> I live in Melbourne, and I've not been to the Gaol yet ;)
>> 
>>>>>>>> I'm running out of ideas at the moment... the SQL looks correct, the 
>>>>>>>> data's being indexed, and searchd is restarting as expected. You don't 
>>>>>>>> have any sphinx scopes (or more importantly - a default sphinx scope) 
>>>>>>>> in the Trip model, do you?
>> 
>>>>>>>> --
>>>>>>>> Pat
>> 
>>>>>>>> On 01/11/2010, at 9:13 PM, Victor wrote:
>> 
>>>>>>>>> If I did "Spot.search "Inna Putri Bali"
>> 
>>>>>>>>>>> Spot.search "Inna Putri Bali"
>>>>>>>>> => [#<Spot id: 2, spot_type: "accommodation", name: "Inna Putri Bali",
>>>>>>>>> acc_type: "Hotel", operation_hours: "", check_in: "2000-01-01
>>>>>>>>> 14:00:00", check_out: "2000-01-01 13:00:00", season: "No season",
>>>>>>>>> prices: "Check their website for latest deals. It's much che...",
>>>>>>>>> country: "Indonesia", zip: "80363", state: "Bali", city: "Kuta",
>>>>>>>>> address: "Jalan Kawasan Nusa Dua Resort", contact: "+62 361771020",
>>>>>>>>> email: "[email protected]", web: "http://hotelputribali.com";,
>>>>>>>>> description: "Inna Putri Bali is set on a wide of Nusa Dua. The e...",
>>>>>>>>> reviews_count: 0, rating_average: #<BigDecimal:b65d3ffc,'0.0',4(8)>,
>>>>>>>>> lat: #<BigDecimal:b65d3fac,'-0.8799857E1',12(16)>, lng:
>>>>>>>>> #<BigDecimal:b65d3ee4,'0.115228862E3',12(20)>, created_at: "2010-10-20
>>>>>>>>> 04:12:17", updated_at: "2010-11-01 09:04:36", photos_count: 13>]
>> 
>>>>>>>>> On Nov 1, 5:48 pm, Victor <[email protected]> wrote:
>>>>>>>>>> Trying "Inna Putri Bali" instead
>> 
>>>>>>>>>> Loading production environment (Rails 2.3.8)
>>>>>>>>>> ** Erubis 2.6.6>> Trip.search "Inna Putri Bali"
>> 
>>>>>>>>>> => []
>> 
>>>>>>>>>> Looks like we have a problem here huh...
>> 
>>>>>>>>>> By the way, Old Melbourne Gaol was awesome. Went there once.
>> 
>>>>>>>>>> On Nov 1, 5:41 pm, Pat Allan <[email protected]> wrote:
>> 
>>>>>>>>>>> Right, that seems fine, so now let's look back within the Rails 
>>>>>>>>>>> app. On the server, in 'script/console production', what's the 
>>>>>>>>>>> output of the following:
>>>>>>>>>>>   Trip.search "Old Melbourne Gaol"
>> 
>>>>>>>>>>> --
>>>>>>>>>>> Pat
>> 
>>>>>>>>>>> On 01/11/2010, at 8:37 PM, Victor wrote:
>> 
>>>>>>>>>>>> So I run 'ps aux | grep searchd'
>> 
>>>>>>>>>>>> 1000     17569  0.0  0.2   9168  1144 ?        S    04:00   0:00
>>>>>>>>>>>> searchd --pidfile --config /var/www/abc.com/public/abc/releases/
>>>>>>>>>>>> 20101008073517/config/production.sphinx.conf
>>>>>>>>>>>> 1000     20220  0.0  0.1   1864   700 pts/0    S+   17:34   0:00 
>>>>>>>>>>>> grep
>>>>>>>>>>>> --color=auto searchd
>> 
>>>>>>>>>>>> Then 'rake ts:rebuild RAILS_ENV=production'
>> 
>>>>>>>>>>>> ** Erubis 2.6.6
>>>>>>>>>>>> Stopped search daemon (pid 17569).
>>>>>>>>>>>> Generating Configuration to /var/www/abc.com/public/abc/releases/
>>>>>>>>>>>> 20101008073517/config/production.sphinx.conf
>>>>>>>>>>>> Sphinx 1.10-beta (r2420)
>>>>>>>>>>>> Copyright (c) 2001-2010, Andrew Aksyonoff
>>>>>>>>>>>> Copyright (c) 2008-2010, Sphinx Technologies Inc (http://
>>>>>>>>>>>> sphinxsearch.com)
>> 
>>>>>>>>>>>> using config file 
>>>>>>>>>>>> '/var/www/abc.com/public/abc/releases/20101008073517/
>>>>>>>>>>>> config/production.sphinx.conf'...
>>>>>>>>>>>> indexing index 'spot_core'...
>>>>>>>>>>>> collected 7 docs, 0.0 MB
>>>>>>>>>>>> sorted 0.0 Mhits, 100.0% done
>>>>>>>>>>>> total 7 docs, 5351 bytes
>>>>>>>>>>>> total 0.015 sec, 343828 bytes/sec, 449.78 docs/sec
>>>>>>>>>>>> skipping non-plain index 'spot'...
>>>>>>>>>>>> indexing index 'trip_core'...
>>>>>>>>>>>> collected 3 docs, 0.0 MB
>>>>>>>>>>>> sorted 0.0 Mhits, 100.0% done
>>>>>>>>>>>> total 3 docs, 55 bytes
>>>>>>>>>>>> total 0.004 sec, 13372 bytes/sec, 729.39 docs/sec
>>>>>>>>>>>> skipping non-plain index 'trip'...
>>>>>>>>>>>> total 12 reads, 0.000 sec, 8.1 kb/call avg, 0.0 msec/call avg
>>>>>>>>>>>> total 24 writes, 0.000 sec, 9.0 kb/call avg, 0.0 msec/call avg
>>>>>>>>>>>> Started successfully (pid 20236).
>> 
>>>>>>>>>>>> Then 'ps aux | grep searchd'
>> 
>>>>>>>>>>>> 1000     20236  0.0  0.1   9164   780 pts/0    S    17:35   0:00
>>>>>>>>>>>> searchd --pidfile --config /var/www/abc.com/public/abc/releases/
>>>>>>>>>>>> 20101008073517/config/production.sphinx.conf
>>>>>>>>>>>> 1000     20238  0.0  0.1   1860   596 pts/0    S+   17:37   0:00 
>>>>>>>>>>>> grep
>>>>>>>>>>>> --color=auto searchd
>> 
>>>>>>>>>>>> On Nov 1, 5:32 pm, Pat Allan <[email protected]> wrote:
>>>>>>>>>>>>> Hi Victor
>> 
>>>>>>>>>>>>> That seems fine...
>>>>>>>>>>>>> What is the output of 'ps aux | grep searchd' before *and* after 
>>>>>>>>>>>>> running 'rake ts:rebuild'?
>> 
>>>>>>>>>>>>> I want to make sure we're dealing with just a single searchd 
>>>>>>>>>>>>> instance that is noting the changes.
>> 
>>>>>>>>>>>>> Cheers
>> 
>>>>>>>>>>>>> --
>>>>>>>>>>>>> Pat
>> 
>>>>>>>>>>>>> On 01/11/2010, at 8:24 PM, Victor wrote:
>> 
>>>>>>>>>>>>>> Here it is in my production.sphinx.conf instead.
>> 
>>>>>>>>>>>>>> indexer
>>>>>>>>>>>>>> {
>>>>>>>>>>>>>> }
>> 
>>>>>>>>>>>>>> searchd
>>>>>>>>>>>>>> {
>>>>>>>>>>>>>>  listen = 127.0.0.1:9791
>>>>>>>>>>>>>>  log = /var/www/abc.com/public/abc/releases/20101008073517/log/
>>>>>>>>>>>>>> searchd.log
>>>>>>>>>>>>>>  query_log = 
>>>>>>>>>>>>>> /var/www/abc.com/public/abc/releases/20101008073517/log/
>>>>>>>>>>>>>> searchd.query.log
>>>>>>>>>>>>>>  pid_file = 
>>>>>>>>>>>>>> /var/www/abc.com/public/abc/releases/20101008073517/log/
>>>>>>>>>>>>>> searchd.production.pid
>>>>>>>>>>>>>> }
>> 
>>>>>>>>>>>>>> source spot_core_0
>>>>>>>>>>>>>> {
>>>>>>>>>>>>>>  type = mysql
>>>>>>>>>>>>>>  sql_host = localhost
>>>>>>>>>>>>>>  sql_user = root
>>>>>>>>>>>>>>  sql_pass =
>>>>>>>>>>>>>>  sql_db = abc_production
>>>>>>>>>>>>>>  sql_query_pre = SET NAMES utf8
>>>>>>>>>>>>>>  sql_query_pre = SET TIME_ZONE = '+0:00'
>>>>>>>>>>>>>>  sql_query = SELECT SQL_NO_CACHE `spots`.`id` * 2 + 0 AS `id` ,
>>>>>>>>>>>>>> `spots`.`name` AS `name`, `spots`.`address` AS `address`,
>>>>>>>>>>>>>> `spots`.`city` AS `city`, `spots`.`state` AS `state`,
>>>>>>>>>>>>>> `spots`.`country` AS `country`, `spots`.`spot_type` AS 
>>>>>>>>>>>>>> `spot_type`,
>>>>>>>>>>>>>> `spots`.`description` AS `description`, `spots`.`id` AS
>>>>>>>>>>>>>> `sphinx_internal_id`, 419485005 AS `class_crc`, 0 AS 
>>>>>>>>>>>>>> `sphinx_deleted`,
>>>>>>>>>>>>>> IFNULL(`spots`.`name`, '') AS `name_sort`, 
>>>>>>>>>>>>>> `spots`.`rating_average` AS
>>>>>>>>>>>>>> `rating_average` FROM `spots`    WHERE `spots`.`id` >= $start AND
>>>>>>>>>>>>>> `spots`.`id` <= $end GROUP BY `spots`.`id`  ORDER BY NULL
>>>>>>>>>>>>>>  sql_query_range = SELECT IFNULL(MIN(`id`), 1), 
>>>>>>>>>>>>>> IFNULL(MAX(`id`), 1)
>>>>>>>>>>>>>> FROM `spots`
>>>>>>>>>>>>>>  sql_attr_uint = sphinx_internal_id
>>>>>>>>>>>>>>  sql_attr_uint = class_crc
>>>>>>>>>>>>>>  sql_attr_uint = sphinx_deleted
>>>>>>>>>>>>>>  sql_attr_str2ordinal = name_sort
>>>>>>>>>>>>>>  sql_attr_float = rating_average
>>>>>>>>>>>>>>  sql_query_info = SELECT * FROM `spots` WHERE `id` = (($id - 0) 
>>>>>>>>>>>>>> / 2)
>>>>>>>>>>>>>> }
>> 
>>>>>>>>>>>>>> index spot_core
>>>>>>>>>>>>>> {
>>>>>>>>>>>>>>  source = spot_core_0
>>>>>>>>>>>>>>  path = /var/www/abc.com/public/abc/shared/db/sphinx/spot_core
>>>>>>>>>>>>>>  charset_type = utf-8
>>>>>>>>>>>>>>  min_infix_len = 3
>>>>>>>>>>>>>>  enable_star = 1
>>>>>>>>>>>>>> }
>> 
>>>>>>>>>>>>>> index spot
>>>>>>>>>>>>>> {
>>>>>>>>>>>>>>  type = distributed
>>>>>>>>>>>>>>  local = spot_core
>>>>>>>>>>>>>> }
>> 
>>>>>>>>>>>>>> source trip_core_0
>>>>>>>>>>>>>> {
>>>>>>>>>>>>>>  type = mysql
>>>>>>>>>>>>>>  sql_host = localhost
>>>>>>>>>>>>>>  sql_user = root
>>>>>>>>>>>>>>  sql_pass = Sp[Hry{X~6jjF437[DD
>>>>>>>>>>>>>>  sql_db = abc_production
>>>>>>>>>>>>>>  sql_query_pre = SET NAMES utf8
>>>>>>>>>>>>>>  sql_query_pre = SET TIME_ZONE = '+0:00'
>>>>>>>>>>>>>>  sql_query = SELECT SQL_NO_CACHE `trips`.`id` * 2 + 1 AS `id` ,
>>>>>>>>>>>>>> `trips`.`name` AS `name`, `trips`.`duration` AS `duration`,
>>>>>>>>>>>>>> GROUP_CONCAT(DISTINCT IFNULL(`spots`.`name`, '0') SEPARATOR ' ') 
>>>>>>>>>>>>>> AS
>>>>>>>>>>>>>> `spot_name`, GROUP_CONCAT(DISTINCT IFNULL(`spots`.`city`, '0')
>>>>>>>>>>>>>> SEPARATOR ' ') AS `spot_city`, GROUP_CONCAT(DISTINCT
>>>>>>>>>>>>>> IFNULL(`spots`.`state`, '0') SEPARATOR ' ') AS `spot_state`,
>>>>>>>>>>>>>> GROUP_CONCAT(DISTINCT IFNULL(`spots`.`country`, '0') SEPARATOR ' 
>>>>>>>>>>>>>> ') AS
>>>>>>>>>>>>>> `spot_country`, `trips`.`id` AS `sphinx_internal_id`, 3596900869 
>>>>>>>>>>>>>> AS
>>>>>>>>>>>>>> `class_crc`, 0 AS `sphinx_deleted`, IFNULL(`trips`.`name`, '') AS
>>>>>>>>>>>>>> `name_sort`, `trips`.`budget` AS `budget`,
>>>>>>>>>>>>>> UNIX_TIMESTAMP(`trips`.`created_at`) AS `created_at`,
>>>>>>>>>>>>>> `trips`.`rating_average` AS `rating_average` FROM `trips`    LEFT
>>>>>>>>>>>>>> OUTER JOIN `spot_trips` ON (`trips`.`id` = 
>>>>>>>>>>>>>> `spot_trips`.`trip_id`)
>>>>>>>>>>>>>> LEFT OUTER JOIN `spots` ON (`spots`.`id` = 
>>>>>>>>>>>>>> `spot_trips`.`spot_id`)
>>>>>>>>>>>>>> WHERE `trips`.`id` >= $start AND `trips`.`id` <= $end GROUP BY
>>>>>>>>>>>>>> `trips`.`id`  ORDER BY NULL
>>>>>>>>>>>>>>  sql_query_range = SELECT IFNULL(MIN(`id`), 1), 
>>>>>>>>>>>>>> IFNULL(MAX(`id`), 1)
>>>>>>>>>>>>>> FROM `trips`
>>>>>>>>>>>>>>  sql_attr_uint = sphinx_internal_id
>>>>>>>>>>>>>>  sql_attr_uint = class_crc
>>>>>>>>>>>>>>  sql_attr_uint = sphinx_deleted
>>>>>>>>>>>>>>  sql_attr_timestamp = created_at
>>>>>>>>>>>>>>  sql_attr_str2ordinal = name_sort
>>>>>>>>>>>>>>  sql_attr_float =
>> 
>> ...
>> 
>> 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