Индексация по нескольким источникам

Сергей, спасибо большое за ответ!

Да. Типа xmlpipe2, csvpipe или tsvpipe. Пишете небольшой скрипт, который делает то, что вам нужно, а на выходе даёт xml / csv или tsv.

Я верно понимаю, что тут вы предлагаете сливать данные скриптом из двух БД в xml/csv а затем уже индексировать его?

Да. Просто указываете 2 source в индексе. Manticore Search Manual: Creating an index > Local indexes > Plain and real-time index settings

Вот этот способ выглядит привлекательнее… Не могли бы подсказать, как потом пользоваться таким индексом, в документации не смог найти ничего подобного.
Т.е. как по нему искать, когда у меня в source 1 основные данные, а в source 2 город? И надо отфильтровать данные из source 1 по городу (в обоих присутствует идентификатор пользователя)…

Может быть все на самом деле проще, но не могу посмотреть что в итоге получается индексе… При указании в индексе двух индексатор падает вот с такой ошибкой:
ERROR: index 'products': attribute count mismatch (me=profileSource, in=productsSource, myattrs=4, inattrs=8).
Не подскажите от чего она может быть? По отдельности оба source индексируются нормально.
Конфиг такой:

source profileSource : configurationSourceProfiles{
    sql_query_pre = SET @a := 1;

    sql_query = \
        SELECT \
            @a := @a + 1 as sphinx_internal_id, \
            profiles.id as profile_id, \
            profiles.city_id as city_id \
        FROM profiles   

    sql_attr_bigint = sphinx_internal_id
    sql_attr_string = profile_id    
    sql_attr_string = city_id
}

source productsSource : configurationSourceMarketPlace{
    sql_query_pre = SET @a := 1;

    sql_query = \
        SELECT \
            @a := @a + 1 as sphinx_internal_id, \
            products.id as product_id, \
            products.url as url, \
            products.title as title, \
            product_prices.value as price, \
            product_prices.price_type_id as price_type_id, \
            products.owner_id as owner_id, \
            products.status as status, \
            products.published as published, \
            ( \
                SELECT JSON_ARRAYAGG(CONCAT(PP.parameter_id, ":", IF(PP.value_id IS NULL, PP.value, PP.value_id))) FROM product_parameters as PP WHERE PP.product_id = products.id  \
            ) as product_params \
        FROM \
            products \
        LEFT JOIN product_prices ON product_prices.product_id = products.id \
        WHERE products.published = true
        
    sql_attr_bigint = sphinx_internal_id
    sql_field_string = title
    sql_attr_string = product_id    
    sql_attr_string = owner_id
    sql_attr_json = product_params  
    sql_attr_uint = price
    sql_attr_bool = published
}

index products{
    source = productsSource
    source = profileSource
    path = /var/lib/manticore/indexes/products
}