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 = budget > > sql_attr_float = rating_average > > sql_query_info = SELECT * FROM `trips` WHERE `id` = (($id - 1) / 2) > > } > > > index trip_core > > { > > source = trip_core_0 > > path = /var/www/abc.com/public/abc/shared/db/sphinx/trip_core > > charset_type = utf-8 > > min_infix_len = 3 > > enable_star = 1 > > } > > > index trip > > { > > type = distributed > > local = trip_core > > } > > > On Nov 1, 5:19 pm, Pat Allan <[email protected]> wrote: > >> Hmm, haven't figured out the problem yet. What does your trip_core_0 > >> source look like in sphinx/development.sphinx.conf? Make sure you remove > >> the database password :) > > >> -- > >> Pat > > >> On 01/11/2010, at 8:15 PM, Victor wrote: > > >>> Currently testing with just one or two each, but they are not > >>> limited. > > >>> Some spots are tied to trip_day too, but it's just for order purpose. > >>> Lemme know if you need to look into that code too. > > >>> I also have the following codes: > > >>> spot_trip.rb > >>> ===== > >>> class SpotTrip < ActiveRecord::Base > >>> belongs_to :trip > >>> belongs_to :spot > > >>> def spot_name > >>> spot.name if spot.try(:name) > >>> end > > >>> def spot_type > >>> spot.spot_type if spot.try(:spot_type) > >>> end > >>> end > > >>> On Nov 1, 5:08 pm, Pat Allan <[email protected]> wrote: > >>>> Okay... how many spots are usually tied to a trip? A few? Dozens? > >>>> Hundred? > > >>>> -- > >>>> Pat > > >>>> On 01/11/2010, at 8:02 PM, Victor wrote: > > >>>>> Hi Pat, > > >>>>> Yes, rebuilt is done, and I did not change the model. > > >>>>> Yes, related trip is not being return. > > >>>>> For example: > > >>>>> Trip: 3 day Victoria trip. > >>>>> Spots in the trip above: Old Melbourne Gaol, Melbourne Museum, The Art > >>>>> Gallery > > >>>>> Each spot has an individual page of course. > > >>>>> When I search Victoria, the trip above will show in result. But if I > >>>>> search "Old Melbourne Gaol", or any of the spots.name, it returns 0 > >>>>> result. This actually happens to the site-wide search. > > >>>>> By the way, the codes I gave were just snippets, which I think they > >>>>> are the only one related. > > >>>>> Thanks. > > >>>>> On Nov 1, 4:57 pm, Pat Allan <[email protected]> wrote: > >>>>>> Hi Victor > > >>>>>> Just to confirm: are you searching for a word that appears in a spot > >>>>>> name (or city, state, country), and the related trip is not being > >>>>>> returned? > > >>>>>> Have you run 'rake ts:rebuild' since adding those fields? > > >>>>>> Cheers > > >>>>>> -- > >>>>>> Pat > > >>>>>> On 01/11/2010, at 7:51 PM, Victor wrote: > > >>>>>>> Hi Pat, > > >>>>>>> I'm using the following: > > >>>>>>> Rails 2.3.8, Sphinx 1.10-beta, TS 1.3.20 > > >>>>>>> If you looked at the code below, I would like to search Spots > >>>>>>> (different model) name, city, state, country listed in Trips. Somehow > >>>>>>> my search filter only works on the name of the Trip, but not the spots > >>>>>>> in it. > > >>>>>>> trip.rb > >>>>>>> ===== > >>>>>>> class Trip < ActiveRecord::Base > >>>>>>> has_many :spots, :through => :spot_trips > > >>>>>>> # ThinkingSphinx Index > >>>>>>> define_index do > >>>>>>> indexes :name, :sortable => true > >>>>>>> indexes duration > >>>>>>> indexes spots.name, :as => :spot_name > >>>>>>> indexes spots.city, :as => :spot_city > >>>>>>> indexes spots.state, :as => :spot_state > >>>>>>> indexes spots.country, :as => :spot_country > >>>>>>> has budget, created_at, rating_average > >>>>>>> end > >>>>>>> end > > >>>>>>> trips_controller.rb > >>>>>>> ======= > >>>>>>> class TripsController < ApplicationController > >>>>>>> before_filter :require_user, :except => [:show, :index] > > >>>>>>> def index > >>>>>>> if params[:filter] == 'on' > >>>>>>> country = params[:country] == 'All' ? {} : {:spot_country => > >>>>>>> params[:country]} > >>>>>>> duration = params[:days].blank? ? "" : params[:days] > > >>>>>>> if !duration.blank? && country > >>>>>>> conditions = {:duration => duration}.merge(country) > >>>>>>> elsif !duration.blank? && country.blank? > >>>>>>> conditions = {:duration => duration} > >>>>>>> else country && duration.blank? > >>>>>>> conditions = country > >>>>>>> end > > >>>>>>> keyword = params[:keyword].blank? ? "" : params[:keyword] > > >>>>>>> case params[:order] > >>>>>>> when 'date_descend' > >>>>>>> order = {:order => 'created_at DESC'} > >>>>>>> when 'date_ascend' > >>>>>>> order = {:order => 'created_at ASC'} > >>>>>>> when 'rating_descend' > >>>>>>> order = {:order => 'rating_average DESC'} > >>>>>>> when 'rating_ascend' > >>>>>>> order = {:order => 'rating_average ASC'} > >>>>>>> when 'budget_dscend' > >>>>>>> order = {:order => 'budget DESC'} > >>>>>>> when 'budget_ascend' > >>>>>>> order = {:order => 'budget ASC'} > >>>>>>> else > >>>>>>> order = {} > >>>>>>> end > > >>>>>>> results = Trip.search params[:keyword], {:conditions => > >>>>>>> conditions, :star => true}.merge(order) > >>>>>>> �...@trips = results.paginate(:page => params[:page]) > >>>>>>> else > >>>>>>> �...@trips = Trip.paginate(:all, :page => params[:page], :order => > >>>>>>> 'created_at DESC') > >>>>>>> end > >>>>>>> end > > >>>>>>> index.html.erb for trip > >>>>>>> ===== > >>>>>>> I have these for filters: > > >>>>>>> <%= text_field_tag 'keyword' %> > >>>>>>> <select name="country"> > >>>>>>> <option>All</option> > >>>>>>> <option value="Afghanistan">Afghanistan</option> > >>>>>>> . > >>>>>>> . > >>>>>>> </select> > >>>>>>> <input class="duration" name="days" /> > >>>>>>> <select name="order"> > >>>>>>> <option value="date_descend" <%= params[:order] == 'date_dscend' ? > >>>>>>> 'selected' : ''%>> > >>>>>>> Date: Latest to earliest > >>>>>>> </option> > >>>>>>> <option value="date_ascend" <%= params[:order] == 'date_ascend' ? > >>>>>>> 'selected' : ''%>> > >>>>>>> Date: Earliest to latest > >>>>>>> </option> > >>>>>>> <option value="rating_descend" <%= params[:order] == > >>>>>>> 'rating_descend' ? 'selected' : ''%>> > >>>>>>> Rating: Highest to lowest > >>>>>>> </option> > >>>>>>> <option value="rating_ascend" <%= params[:order] == > >>>>>>> 'rating_ascend' ? 'selected' : ''%>> > >>>>>>> Rating: Lowest to highest > >>>>>>> </option> > >>>>>>> </select> > > >>>>>>> Thanks. > > >>>>>>> -- > >>>>>>> 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 > > ... > > 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.
