Предположим, у нас есть три таблицы:

  1. pr_brand (идентификатор, название)
  2. pr_brand_usages (идентификатор, pr_brand_id, pr_usages_id)
  3. pr_usages (идентификатор, название)

Запрос в sphinx.confфайле:

SELECT p.id,p.title as title
FROM pr_brand p
LEFT JOIN pr_brand_usages u ON u.pr_brand_id = u.id

sql_attr_string = title
sql_attr_multi = uint pr_usages_ids from query; SELECT id,title from pr_usages

Я получаю pr_usages_ids=0 (ничего). Когда я запускаю свой запрос в консоли:

мой запрос:

select * from my_index;

У нас есть фасет с множественным выбором ( эта страница ).
Можете ли вы помочь мне решить эту проблему?

введите описание изображения здесь

ОБНОВЛЕНО:

Я изменил запрос в sphinx.confфайле:

SELECT p.id,p.title as title
FROM pr_brand p

LEFT JOIN pr_brand_usages u ON u.pr_brand_id = u.id

sql_attr_string = title
sql_attr_multi = uint pr_usages_ids from query; SELECT pr_brand_id,pr_brand_usages_id from pr_brand_usages

sql_attr_multi = uint pr_usages_ids из запроса; ВЫБЕРИТЕ идентификатор, название из

Это правильно?

отвечать

Ваше «редактирование» выглядит нормально для MVA.

(Но ваше sql_attr_stringбудет означать, что заголовок станет атрибутом, оставив ваш индекс без полей. Индекс будет нефункциональным. Возможно, используйте sql_field_string, если вам нужен строковый атрибут (он создает поле И атрибут)