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 at
http://groups.google.com/group/thinking-sphinx?hl=en.