Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Sphinx - индексация и поиск по нескольким таблицам 
V
    Опции темы
DimaSiK
Дата 15.3.2013, 20:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 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


--------------------
Мы не стараемся быть первыми, мы стараемся быть лучшими.

PM MAIL   Вверх
skyboy
Дата 15.3.2013, 21:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 75
Всего: 260



ну, там же ты указываешь запрос.
запрос может запросто содержать UNION ALL и JOIN.
так что и сделай несколько запросов, каждый из которых будет отображать свой кусок информации и слепи их через union all
PM MAIL   Вверх
DimaSiK
Дата 15.3.2013, 21:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 390
Регистрация: 20.8.2006

Репутация: нет
Всего: нет



Цитата(skyboy @ 15.3.2013,  21:12)
ну, там же ты указываешь запрос.
запрос может запросто содержать UNION ALL и JOIN.
так что и сделай несколько запросов, каждый из которых будет отображать свой кусок информации и слепи их через union all

Так, сейчас речь идет об Sphinx? разве Sphinx RT поддерживает JOIN, UNION? - по документации он подерживает самые простые операторы INSERT\DELETE\REPLACE


--------------------
Мы не стараемся быть первыми, мы стараемся быть лучшими.

PM MAIL   Вверх
DimaSiK
Дата 15.3.2013, 23:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 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


--------------------
Мы не стараемся быть первыми, мы стараемся быть лучшими.

PM MAIL   Вверх
skyboy
Дата 16.3.2013, 00:18 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 75
Всего: 260



Цитата(DimaSiK @  15.3.2013,  20:28 Найти цитируемый пост)
разве Sphinx RT

ну, дык, редактировать входящий пост в то же время, что я тебе писал ответ — а потом еще спрашивать "что ты мне за фигню советуешь?".

Добавлено через 2 минуты и 24 секунды
Цитата(DimaSiK @  15.3.2013,  22:39 Найти цитируемый пост)
В общем реализовать такую структуру зависимостей в Sphinx возможно и даже используя Sphinx RT

окей. может, проще было использовать "классический" sphinx с его data source?
PM MAIL   Вверх
DimaSiK
Дата 16.3.2013, 00:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 390
Регистрация: 20.8.2006

Репутация: нет
Всего: нет



Цитата

ну, дык, редактировать входящий пост в то же время, что я тебе писал ответ — а потом еще спрашивать "что ты мне за фигню советуешь?".

об этом я упомянул сразу же, а дальше редактировал ошибки написания.

Цитата

окей. может, проще было использовать "классический" sphinx с его data source? 

Sphinx RT в сравнение с обычным намного удобнее и быстрее: не требует реиндексации - данные мгновенно доступны для поиска после вставки, работаешь как с нативными запросами к MySQL. Вообще данная задача решается
одинаково внезависимости от типа индекса в Sphinx.

Это сообщение отредактировал(а) DimaSiK - 16.3.2013, 00:44


--------------------
Мы не стараемся быть первыми, мы стараемся быть лучшими.

PM MAIL   Вверх
skyboy
Дата 16.3.2013, 01:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 75
Всего: 260



Цитата(DimaSiK @  15.3.2013,  23:43 Найти цитируемый пост)
об этом я упомянул сразу же, а дальше редактировал ошибки написания.

понял. значит, я невнимательно прочитал. извини.
Цитата(DimaSiK @  15.3.2013,  23:43 Найти цитируемый пост)
Вообще данная задача решается одинаково внезависимости от типа индекса в Sphinx.

не понял. либо индексация с задержкой и сложный запрос в качестве источника данных, либо ручная вставка на каждое изменение БД при мгновенном индексировании. что значит "решается одинаково"?

PM MAIL   Вверх
DimaSiK
Дата 16.3.2013, 11:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 390
Регистрация: 20.8.2006

Репутация: нет
Всего: нет



Цитата

не понял. либо индексация с задержкой и сложный запрос в качестве источника данных, либо ручная вставка на каждое изменение БД при мгновенном индексировании. что значит "решается одинаково"?

Одинаково решается описанная мною проблема и решение не зависит от типа индекса. Любой индекс в Sphinx поддерживает MVA - это и позволяет реализовать в Sphinx зависимость один ко многим.


--------------------
Мы не стараемся быть первыми, мы стараемся быть лучшими.

PM MAIL   Вверх
Fortop
Дата 16.3.2013, 12:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2200
Регистрация: 13.11.2007
Где: Донецк

Репутация: 20
Всего: 42



Цитата(DimaSiK @  15.3.2013,  20:56 Найти цитируемый пост)
 Ах да, хотелось бы использовать Sphinx RT для максимального быстродействия 

Он медленнее
И создает больше нагрузку если использовать все его возможности


--------------------
Мир это Я.
Живее всех живых.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0493 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.