Found a solution.  By adding the following to my 'define_index', the search 
now finds records with a partial match.

    set_property :enable_star => 1
    set_property :min_infix_len => 3

This now returns 1 result(correct):
Translation.search 'doct', :star => true 

On Thursday, November 14, 2013 1:04:10 PM UTC-6, Frank Kany wrote:
>
> I've been fighting this issue for a couple days, trying various configs 
> and re-indexing each time, and still cannot find partial matches.
>
> Any suggestions?
>
> Thanks,
>
> Frank
>
> This returns 0 results(wrong):
> Translation.search 'doct', :star => true
>
> This returns 1 result(correct):
> Translation.search 'doctor', :star => true
>
> Machine:
> Sphinx 2.1.0
> Mac OSX 10.9
>
> Environment:
> Thinking-Sphinx 2.1.2 
> Rails 3.2.8
> Ruby 1.9.3p392
>
> development.sphinx.conf:
> source translation_core_0
> {
>   type = mysql
>   sql_host = localhost
>   sql_user = root
>   sql_pass = 
>   sql_db = medbillmanager_development
>   sql_query_pre = SET NAMES utf8
>   sql_query_pre = SET TIME_ZONE = '+0:00'
>   sql_query = SELECT SQL_NO_CACHE `translations`.`id` * CAST(6 AS SIGNED) 
> + 4 AS `id` , `translations`.`text` AS `text`, `phrases`.`source_table` AS 
> `source_table`, `translations`.`locale_id` AS `locale_id`, 
> `translations`.`id` AS `sphinx_internal_id`, 0 AS `sphinx_deleted`, 
> 854969016 AS `class_crc`, IFNULL('Translation', '') AS 
> `sphinx_internal_class`, IFNULL(CONCAT(phrases.source_table, '.', 
> phrases.source_column), '') AS `col_attribute` FROM `translations` LEFT 
> OUTER JOIN `phrases` ON `phrases`.`id` = `translations`.`phrase_id` WHERE 
> (`translations`.`id` >= $start AND `translations`.`id` <= $end AND 
> phrases.source_table IN 
> ('provider_service_groups','drug_informations','provider_service_codes') 
> AND locale_id != 1) GROUP BY `translations`.`id` ORDER BY NULL
>   sql_query_range = SELECT IFNULL(MIN(`id`), 1), IFNULL(MAX(`id`), 1) FROM 
> `translations` 
>   sql_attr_uint = sphinx_internal_id
>   sql_attr_uint = sphinx_deleted
>   sql_attr_uint = class_crc
>   sql_attr_string = sphinx_internal_class
>   sql_attr_string = col_attribute
>   sql_query_info = SELECT * FROM `translations` WHERE `id` = (($id - 4) / 
> 6)
> }
>
> index translation_core
> {
>   source = translation_core_0
>   path = 
> /Users/frankkany/railsprojects/chapp/db/sphinx/development/translation_core
>   morphology = stem_en
>   min_stemming_len = 4
>   stopwords = config/sphinx_stopwords.txt
>   min_word_len = 4
>   charset_type = utf-8
> }
>
> index translation
> {
>   type = distributed
>   local = translation_core
> }
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Thinking Sphinx" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/thinking-sphinx.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to