Hi Jak

Sorry, slowly catching up on TS support requests...

1. config/sphinx.yml doesn't exist by default - and you don't need to create 
it, unless you want to change Sphinx's default behaviour. If you're going to 
use :star => true (so you get partial word matching), then you *will* need to 
create this file, and set enable_star to true, as well as min_infix_len or 
min_prefix_len. This is covered in the documentation (a bit of the way down the 
page):
http://freelancing-god.github.com/ts/en/advanced_config.html

2. What you've suggested to index data from the interested_games association is 
correct.

3. If you want to match on any of a set of values for a field, then you'll want 
to read about the extended query syntax:
http://sphinxsearch.com/docs/manual-0.9.9.html#extended-syntax

To match on users that have game attribute names of 'mario', and game attribute 
values of 'value1', 'value2', 'value3', 'value4' OR 'value5':

  User.search params[:search_text],
    :per_page   => 10,
    :conditions => {:ga_name => 'mario', :ga_value => "(value1 | value2 | 
value3 | value4 | value5)",
    :sort_mode  => :extended,
    :order      => 'created_at DESC'

However, if you want to match on users that have game attributes that have both 
a name of 'mario' and any of the five values, this is not possible in Sphinx. 
It has no concept of hashes of data for documents. That is - Sphinx knows that 
'mario' is a game attribute name for the user, and it knows that 'value1', etc 
are game attribute values for the user, but it DOES NOT know that the 'mario' 
game attribute has a value of 'value1', etc.

Hope this helps, even if it took a while.

-- 
Pat

On 07/12/2010, at 1:36 AM, Arun Kumar wrote:

> Hi Pat, 
>  Thanks for the quick reply, i have added crontab rule and it is indexing 
> properly for the specific time as described in crontab.
> 
> "What's the contents of your sphinx.yml file? "
> 
> I don't find the file in config folder in my application path? Right now i am 
> running sphinx in development mode. Whether it is generated in production 
> mode or while installing sphinx or gem(ts)or we need to create the file ? 
> 
> Note:
> =====
> 1. When I try to 'locate' the file in my ubuntu OS, i got sphinx.yml.tpl with 
> the below information
> 
> "config_file: /opt/sphinx/etc/sphinx.conf
> root_dir: /opt/sphinx/bin
> indexes: test1 test2 "
> 
> I think it was sample file, correct me if iam wrong ?
> 
> 2. I found "development.sphinx.conf" in the config file folder, it have 
> indexing thing (i think so).
> 
> "As for updating, if you're using delta indexing, then just follow the 
> instructions in the documentation:
> http://freelancing-god.github.com/ts/en/deltas.html";
> 
> I have implemented the delta indexing by followed the instruction from the 
> above link, seems its working.
> 
> "If you get stuck, let us know... you'll still need to perform the normal 
> indexing (via cron or a similar tool)."
>  Yes iam still stucked..
> 
> I have following issue.
> 
> "PLEASE HAVE A LOOK AT CODING - MODEL ASSOCIATION AND DEFINE_INDEX METHOD"
> 
> Model:
> =====
> 
> class User < ActiveRecord::Base
>     include ActionView::Helpers::UrlHelper
> 
>     has_one :profile, :class_name => "UserProfile", :dependent => :destroy
> 
>     has_many :games
> 
>     has_many :game_attributes, :dependent => :destroy do
>         def game(user, gme,dt)
>             find(:all, :conditions => {:user_id => user.id, :game_id => 
> gme.id, :date => dt})
>         end
>     end
> 
>     has_and_belongs_to_many :interested_games,
>         :class_name => 'Game',
>         :join_table => 'interested_game_users',
>         :order => 'name'
> 
>     define_index do
>             indexes login
>               indexes email
>               indexes admin
>               indexes staff
>         indexes game_attributes(:name), :as => :ga_name
>         indexes game_attributes.value, :as => :ga_value
>         indexes profile.gender, :as => :up_gender
>                 how to index interested_game(which is HBTM) ? i indexed like 
> indexes "users.interested_games(:id), :as => :in_game_id" and like "indexes 
> interested_games(:name), :as => :in_game_name" is it correct ?
>               has :id, created_at
>        end
> end
> 
> MySQL
> ======
> Fields in the user table:
> =========================
>     id    
>     login
>         email 
>         admin
>         staff
>         created_at+etc..
> 
> Fields in the user_profile table:
> =================================
>         id
>         user_id
>         gender
>         first_name
>         last_name
>     created_at+etc..
> 
> Fields in the games:
> ====================
>         id
>         games_name
>         game_desc
>     created_at+etc..
> 
> Fields in the game_attributes:
> ==============================
>         id
>         user_id
>         game_id
>         name
>         value
>     created_at+etc..
> 
> records like below in game_attributes:
> -------------------------------------------------------
>      id     user_id game_id     name     value     created_at                 
>     updated_at                        date
> =================================================================================
>     1260     143     7            mario     value1     2010-04-20 17:54:59    
>  2010-04-20 17:54:59     March 14, 2009
>     1261     143     7            mario     value2     2010-04-20 17:54:59    
>  2010-04-20 17:54:59     March 14, 2009
>     1262     143     7            mario     value3     2010-04-20 17:54:59    
>  2010-04-20 17:54:59     March 14, 2009
>     1263     143     7           mario     value4    2010-04-20 17:54:59     
> 2010-04-20 17:54:59     March 14, 2009
>     1264     143     7           mario     value5    2010-04-20 17:54:59     
> 2010-04-20 17:54:59     March 14, 2009
> 
>     
> Fields in the interested_game_users:
> ====================================
>     user_id
>      procedure_id
> 
> Ques:
> How  to form a search query for each game_attribute in combination with name 
> and value  from the above given fields. Assume i doing a search with the 
> following attributes.
> 
> Example
> ======
> 1. @results = User.search params[:search_text], :per_page => 10, :conditions 
> => {:ga_name => 'mario', :ga_value=>'value1', :ga_value=>"value2", 
> :ga_value=> "value3", :ga_value=> "value4",:ga_value=> "value5"}, :sort_mode 
> => :extended,  :order => "created_at DESC"
> 
> Means i need to compare value for an array of records for specific user and 
> game (refer the "records like below in game_attributes:")
> 
> I confusing like anything, Please help me on this
> 
> Note: Same scenario is working in rails 2.3.8 using acts_as_ferret,  if you 
> want the acts_as_ferret query, i will copy-paste here 
> 
> Apart from that ,if you want any other information i will give that you in 
> minitues.
> 
> Thanks in Advance,
> Jak
> 
> 
> On Sun, Dec 5, 2010 at 7:07 AM, Pat Allan <[email protected]> wrote:
> Hi Jak
> 
> Firstly: your first email came through - the first two posts on the mailing 
> list are flagged (forced to the top), because they contain common questions. 
> That seems to confuse people.
> 
> Anyway, on to your questions:
> 
> * You're searching on 'j', with :star set to true - but are you enabling 
> either prefix or infix indexing. You need to do one or the other:
> http://freelancing-god.github.com/ts/en/common_issues.html#wildcards
> 
> What's the contents of your sphinx.yml file?
> 
> * As for updating, if you're using delta indexing, then just follow the 
> instructions in the documentation:
> http://freelancing-god.github.com/ts/en/deltas.html
> 
> If you get stuck, let us know... you'll still need to perform the normal 
> indexing (via cron or a similar tool).
> 
> Cheers
> 
> --
> Pat
> 
> On 02/12/2010, at 5:43 PM, Arun Kumar wrote:
> 
> >
> > Hi team,
> >
> > This is my second mail to this group, i don't know why it is not published 
> > to the user group, please respond and publish it to the group.... I am 
> > using rails 3.0 and i installed sphinx and added the following to gemfile  
> > gem 'thinking-sphinx', '2.0.0', :require => 'thinking_sphinx'. If i 
> > generate the conditions dynamically it is not working fine (means search 
> > query)?
> >
> > My structure is like below:
> > ==========================
> >
> > Model:
> > =====
> >
> > class User < ActiveRecord::Base
> >     include ActionView::Helpers::UrlHelper
> >
> >     has_one :profile, :class_name => "UserProfile", :dependent => :destroy
> >
> >     has_many :game_attributes, :dependent => :destroy do
> >         def game(user, gme,dt)
> >             find(:all, :conditions => {:user_id => user.id, :game_id => 
> > gme.id, :date => dt})
> >         end
> >     end
> >
> >     has_and_belongs_to_many :interested_game,
> >         :class_name => 'Game',
> >         :join_table => 'interested_game_users',
> >         :order => 'name'
> >
> >     define_index do
> >             indexes login
> >               indexes email
> >               indexes admin
> >               indexes staff
> >         indexes game_attributes(:name), :as => :ga_name
> >         indexes game_attributes.value, :as => :ga_value
> >         indexes profile.gender, :as => :up_gender
> >               has :id, created_at
> >        end
> > end
> >
> > Controller:
> > ===========
> >
> > Working query:
> > =============
> > "rake ts:in RAILS_ENV=development
> > rake thinking_sphinx:rebuild RAILS_ENV=development
> > rake ts:start RAILS_ENV=development
> > rake ts:stop RAILS_ENV=development"
> >  are working fine...
> >
> >
> > When i put this query " @results = User.search '', :page => params[:page], 
> > :per_page => 10 " in controller, it producing the query, i can able to see 
> > the results.
> >
> > [1m [36mUser Load (0.1ms) [0m  [1mSELECT `users`.* FROM `users` WHERE 
> > (`users`.`id` IN (272, 275, 280, 281, 282, 283, 288, 289, 290, 291)) [0m
> > @results [#<User 
> > #.............................................................">]
> > ==============ThinkingSphinx::Search= length==== 10
> >
> > When i try  the below query it will not generate result or produces empty 
> > result...... When i try this same query with rails db console it producing 
> > the data, so we sure that  have the data... please help me on this.
> >
> > query:
> > ======
> >   @results = User.search 'j', :page => params[:page], :per_page => 10, 
> > :conditions => {:ga_gender =>'Female', :login => 'Someusename', :ga_name=> 
> > 'some name', ga_value=>'some value'}, star =>true, :sort_mode => :extended, 
> >  :order => "created_at DESC"
> >
> > If i generate the conditions dynamically it is not working fine (means 
> > search query)?
> >
> > @results = User.search 'j', :page => params[:page], :per_page => 10, 
> > :conditions => {params[:symbol] =>params[:string], params[:symbols] 
> > =>params[:string],'}, star =>true, :sort_mode => :extended,  :order => 
> > "created_at DESC"
> >
> >
> > 2. How to implement delta to update thinkg-sphinx automatically for some 
> > period / any document/forums , etc..
> >
> >
> > Thanks in Advance,
> > Jak
> >
> > --
> > 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.
> 
> 
> 
> 
> -- 
> 
> Arun Kumar. J,
> Software Engineer, mobile-worx ltd,www.zestadz.com
> http://railsbuilder.blogspot.com
> Twitter: jakthegr8
> Skype: arunisr8
> 
> -- 
> 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