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.