![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| DimaSiK |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 390 Регистрация: 20.8.2006 Репутация: нет Всего: нет |
Стоит задача организовать поиск по нескольким таблицам MySQL(4-7 таблиц). Смотрю в сторону Sphinx так как ранее с ним работал но в рамках довольно таки простых конфигураций. В MySQL храняться к примеру следующие таблицы: news, news_tags, news_conceptual_tags, news_technologies и так балее. Зависимость - один ко многим(одна новость имеет тучу информации). Так вот не совсем себе представляю, как загнать в индекс вот такую вот зависимость. Может кто-то сталкивался и может показать куда можно посмотреть и что почитать? Ах да, хотелось бы использовать Sphinx RT для максимального быстродействия и удобства.
Это сообщение отредактировал(а) DimaSiK - 15.3.2013, 21:10 -------------------- Мы не стараемся быть первыми, мы стараемся быть лучшими. |
|||
|
||||
| skyboy |
|
|||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 75 Всего: 260 |
ну, там же ты указываешь запрос.
запрос может запросто содержать UNION ALL и JOIN. так что и сделай несколько запросов, каждый из которых будет отображать свой кусок информации и слепи их через union all |
|||
|
||||
| DimaSiK |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 390 Регистрация: 20.8.2006 Репутация: нет Всего: нет |
Так, сейчас речь идет об Sphinx? разве Sphinx RT поддерживает JOIN, UNION? - по документации он подерживает самые простые операторы INSERT\DELETE\REPLACE -------------------- Мы не стараемся быть первыми, мы стараемся быть лучшими. |
|||
|
||||
| DimaSiK |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 390 Регистрация: 20.8.2006 Репутация: нет Всего: нет |
В общем реализовать такую структуру зависимостей в Sphinx возможно и даже используя Sphinx RT. Sphinx RT поддерживает следующий типа данных - http://sphinxsearch.com/docs/current.html#conf-rt-attr-multi таким образом в поле такого типа можно засунуть что-то типа такого - (1,2,3,4,5) - где 1,2,3,4,5 - это id чего угодно(тегов, категорий и прочего). Далее в запросе просто используем к примеру искомый нам id а Sphinx видимо использует уже внутри использует что-то сродни MySQL IN(....). Таким образом возможна реализация связей один ко многим в Sphinx.
Это сообщение отредактировал(а) DimaSiK - 15.3.2013, 23:44 -------------------- Мы не стараемся быть первыми, мы стараемся быть лучшими. |
|||
|
||||
| skyboy |
|
|||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 75 Всего: 260 |
ну, дык, редактировать входящий пост в то же время, что я тебе писал ответ — а потом еще спрашивать "что ты мне за фигню советуешь?". Добавлено через 2 минуты и 24 секунды
окей. может, проще было использовать "классический" sphinx с его data source? |
|||
|
||||
| DimaSiK |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 390 Регистрация: 20.8.2006 Репутация: нет Всего: нет |
об этом я упомянул сразу же, а дальше редактировал ошибки написания.
Sphinx RT в сравнение с обычным намного удобнее и быстрее: не требует реиндексации - данные мгновенно доступны для поиска после вставки, работаешь как с нативными запросами к MySQL. Вообще данная задача решается одинаково внезависимости от типа индекса в Sphinx. Это сообщение отредактировал(а) DimaSiK - 16.3.2013, 00:44 -------------------- Мы не стараемся быть первыми, мы стараемся быть лучшими. |
||||
|
|||||
| skyboy |
|
||||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 75 Всего: 260 |
понял. значит, я невнимательно прочитал. извини.
не понял. либо индексация с задержкой и сложный запрос в качестве источника данных, либо ручная вставка на каждое изменение БД при мгновенном индексировании. что значит "решается одинаково"? |
||||
|
|||||
| DimaSiK |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 390 Регистрация: 20.8.2006 Репутация: нет Всего: нет |
Одинаково решается описанная мною проблема и решение не зависит от типа индекса. Любой индекс в Sphinx поддерживает MVA - это и позволяет реализовать в Sphinx зависимость один ко многим. -------------------- Мы не стараемся быть первыми, мы стараемся быть лучшими. |
|||
|
||||
| Fortop |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2200 Регистрация: 13.11.2007 Где: Донецк Репутация: 20 Всего: 42 |
Он медленнее И создает больше нагрузку если использовать все его возможности -------------------- Мир это Я. Живее всех живых. |
|||
|
||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |