HI Pat

Switching the city from attribute to index made the trick. Thanks a
lot for your help!

Joan

On Nov 11, 9:56 pm, Pat Allan <[email protected]> wrote:
> Also, make sure you run `rake ts:rebuild` after making that change to your 
> index definition :)
>
> --
> Pat
>
> On 12/11/2011, at 9:48 AM, Pat Allan wrote:
>
>
>
>
>
>
>
> > Hi Joan
>
> > City should be a field, not an attribute - so switch 'has city' to 'indexes 
> > city' and see if that helps matters.
>
> > Cheers
>
> > --
> > Pat
>
> > On 12/11/2011, at 2:15 AM, Joan Ruiz wrote:
>
> >> Hi Pat, thanks for the quick reply
>
> >> I did read the wild cards example and created my config/sphinx.yml
> >> with this data:
>
> >> development:
> >> enable_star: 1
> >> min_infix_length: 3
>
> >> But seems like the star is not working properly. I'm doing this search
>
> >> params = {:generic_text => "Michael", :city => "Dall"}
> >> Client.search params[:generic_search], :conditions => {:city =>
> >> "#{params[:city]}*"}
>
> >> but it is returning clients from many cities like Medellin, Dallas and
> >> Madrid (Those are the cities I have on my DB at this moment).
>
> >> Also, I tried these searches on console and they didn't found the
> >> client
>
> >> ruby-1.9.2-p290 :001 > Client.search "mich*"
> >> Sphinx Query (1.8ms)  mich*
> >> Sphinx  Found 0 results
> >> => []
> >> ruby-1.9.2-p290 :002 > Client.search "*mich*"
> >> Sphinx Query (1.9ms)  *mich*
> >> Sphinx  Found 0 results
> >> => []
>
> >> my indexes are
>
> >> define_index do
> >>   indexes :name
> >>   indexes registered_name
> >>   indexes contacts.name, :as => :contact
> >>   has city
> >>   has created_at
> >> end
>
> >> I checked the file development.sphinx.config and looks like this
>
> >> source client_core_0
> >> {
> >> type = mysql
> >> sql_host = localhost
> >> sql_user = my_user
> >> sql_pass = my_secret_password
> >> sql_db = Proyect_development
> >> sql_sock = /var/run/mysqld/mysqld.sock
> >> sql_query_pre = SET NAMES utf8
> >> sql_query_pre = SET TIME_ZONE = '+0:00'
> >> sql_query = SELECT SQL_NO_CACHE `clients`.`id` * CAST(1 AS SIGNED) +
> >> 0 AS `id` , `clients`.`name` AS `name`, `clients`.`registered_name` AS
> >> `registered_name`, GROUP_CONCAT(DISTINCT IFNULL(`contacts`.`name`,
> >> '0') SEPARATOR ' ') AS `contact`, `clients`.`id` AS
> >> `sphinx_internal_id`, 0 AS `sphinx_deleted`, 3236430179 AS
> >> `class_crc`, UNIX_TIMESTAMP(`clients`.`created_at`) AS `created_at`,
> >> IFNULL(`clients`.`city`, '') AS `city` FROM `clients` LEFT OUTER JOIN
> >> `contacts` ON `contacts`.`client_id` = `clients`.`id` WHERE
> >> (`clients`.`id` >= $start AND `clients`.`id` <= $end) GROUP BY
> >> `clients`.`id` ORDER BY NULL
> >> sql_query_range = SELECT IFNULL(MIN(`id`), 1), IFNULL(MAX(`id`), 1)
> >> FROM `clients`
> >> sql_attr_uint = sphinx_internal_id
> >> sql_attr_uint = sphinx_deleted
> >> sql_attr_uint = class_crc
> >> sql_attr_timestamp = created_at
> >> sql_attr_str2ordinal = city
> >> sql_query_info = SELECT * FROM `clients` WHERE `id` = (($id - 0) /
> >> 1)
> >> }
>
> >> index client_core
> >> {
> >> source = client_core_0
> >> path = /home/curien/work/proyect/db/sphinx/development/client_core
> >> charset_type = utf-8
> >> enable_star = 1
> >> }
>
> >> Do you have any idea what could be the problem?
>
> >> Thanks for your time and help
>
> >> Joan
>
> >> On Nov 11, 12:23 am, Pat Allan <[email protected]> wrote:
> >>> Hi Joan
>
> >>> You will want to use :with for the date range - and then you'll need 
> >>> wildcards for the city matching. You can find the relevant settings 
> >>> here:http://freelancing-god.github.com/ts/en/common_issues.html#wildcards
>
> >>> And so your query will become:
>
> >>>  Client.search params[:generic_text],
> >>>    :conditions => {:city => "*#{params[:city]*"},
> >>>    :with => {:created_at => params[:start_date]..params[:end_date]}
>
> >>> Although you'll want to make sure params[:start_date] and 
> >>> params[:end_date] are actually Time objects.
>
> >>> Cheers
>
> >>> --
> >>> Pat
>
> >>> On 11/11/2011, at 12:14 PM, Joan Ruiz wrote:
>
> >>>> Hello
>
> >>>> I have a search form with 4 text fields: generic text, city, start
> >>>> date and end date. Generic text uses TS to search on name, registered
> >>>> name and contact's name and I need a query like this:
>
> >>>> Client.search("params[:generic_text]", :conditions => ["city like ?
> >>>> and created_at > ? and created_at < ?", "%params[:city]%",
> >>>> params[:start_date], params[:end_date]])
>
> >>>> I have seen that I can use :with to search on the range of dates, but
> >>>> I can't find something similar to "city like ?"
> >>>> Am I missing something? Any help would be really appreciated
>
> >>>> These are my indexes on the Client model
>
> >>>> define_index do
> >>>>   indexes :name
> >>>>   indexes registered_name
> >>>>   indexes contacts.name, :as => :contact
> >>>>   has :country
> >>>>   has :created_at
> >>>> end
>
> >>>> pd: sorry for the bad English
>
> >>>> --
> >>>> 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 
> >>>> athttp://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 
> >> athttp://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 
> > athttp://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