Kirill
Новичок
sphinx поиск по двум таблицам
Не могу разобраться - есть 2 индексируемые таблицы, ищет либо по одной, либо по другой, но вместе не ищет. Почему?
Таблица 1 - новости
Таблица 2 - обзоры
Конфиг сфинкса
В таблице news есть 1 запись содержащая "фраза", в таблице обзоров также есть одна запись содержащая слово "фраза".
Итак:
$res = $sphinxClient->query('фраза', 'news'); - найдена одна запись
$res = $sphinxClient->query('фраза', 'reviews'); - найдена одна запись
$res = $sphinxClient->query('фраза'); - найдена одна запись. Почему? Ведь поиск должен проходить сразу по двум таблицам.
Не могу разобраться - есть 2 индексируемые таблицы, ищет либо по одной, либо по другой, но вместе не ищет. Почему?
Таблица 1 - новости
Таблица 2 - обзоры
Конфиг сфинкса
PHP:
source news_src
{
type = mysql
sql_host = localhost
sql_user = root
sql_pass = 12345
sql_db = pindos
sql_port = 3306
sql_query_pre = SET NAMES utf8
sql_query = \
SELECT \
news_id, news_name, news_title, news_date, news_short_text, news_full_text, news_author, news_url, site_lang_id \
FROM \
news \
INNER JOIN news_site_langs USING (news_id)
sql_attr_uint = site_lang_id
sql_attr_timestamp = news_date
sql_query_info = SELECT * FROM news WHERE news_id=$id
}
source reviews_src
{
type = mysql
sql_host = localhost
sql_user = root
sql_pass = 12345
sql_db = pindos
sql_port = 3306
sql_query_pre = SET NAMES utf8
sql_query = \
SELECT \
review_id, review_name, review_title, review_date, review_author, review_short_text, review_full_text, review_url, site_lang_id \
FROM \
reviews \
INNER JOIN review_site_langs USING (review_id)
sql_attr_uint = site_lang_id
sql_attr_timestamp = review_date
sql_query_info = SELECT * FROM reviews WHERE review_id=$id
}
index news
{
source = news_src
path = /etc/sphinx/var/data/news
docinfo = extern
mlock = 0
morphology = none
min_word_len = 2
charset_type = utf-8
html_strip = 1
}
index reviews
{
source = reviews_src
path = /etc/sphinx/var/data/reviews
docinfo = extern
mlock = 0
morphology = none
min_word_len = 2
charset_type = utf-8
html_strip = 1
}
Итак:
$res = $sphinxClient->query('фраза', 'news'); - найдена одна запись
$res = $sphinxClient->query('фраза', 'reviews'); - найдена одна запись
$res = $sphinxClient->query('фраза'); - найдена одна запись. Почему? Ведь поиск должен проходить сразу по двум таблицам.