Думаете, Sphinx ищет разные условия из одной и той же таблицы соединений?

Этот вопрос похож на

Как вы ищете различные условия из та же таблица соединения?, но я не получил решения от this.z

Мой код

has_one    :insurance_type_link, as: :enumerable, class_name: "Utility::UserDefinedEnumLink",
         conditions: {user_defined_enum_links: {user_defined_enum_id: Utility::UserDefinedEnum.insurance_types.map(&:id)}}
has_one    :payment_duration_link, as: :enumerable, class_name: "Utility::UserDefinedEnumLink",
         conditions: {user_defined_enum_links: {user_defined_enum_id: Utility::UserDefinedEnum.payment_durations.map(&:id)}}

Мой define_index имеет это

indexes insurance_type_link.user_defined_enum.enum_value,  as: :it, sortable: :insensitive
indexes payment_duration_link.user_defined_enum.enum_value, as: :pd, sortable: :insensitive

И sql-запрос, сгенерированный внутри development.sphinx.conf,

AS `it_sort`, LOWER(IFNULL(`user_defined_enums_user_defined_enum_links`.`enum_value`, '')) 
AS `pd_sort`, IFNULL(`user_defined_enums`.`enum_value`, '')

Таким образом, он генерирует разные запросы для обоих отношений, в результате только первый запрос дает мне правильные результаты поиска.

Как это исправить?

Заранее спасибо.


person Anikethana    schedule 03.04.2013    source источник


Ответы (1)


Я исправил это, используя метод быстрого сокращения, не уверенный, хорошо это или нет... Я определил третье отношение, которое включает в себя как отношения, которые я определил ранее только ради поиска, так и использованное в методе define_index.

person Anikethana    schedule 04.04.2013
comment
Если это сработает, я думаю, придерживаюсь этого. Мне было бы любопытно, какие соединения в значении sql_query без этого ярлыка, но на самом деле: у вас это работает, сосредоточьтесь на том, что будет дальше :) - person pat; 05.04.2013
comment
@Pat, я упомянул значение запроса sql в своем вопросе (без сокращения). Спасибо - person Anikethana; 05.04.2013
comment
У вас есть только части SELECT для этих двух полей — я надеялся увидеть весь запрос. - person pat; 05.04.2013