|
| Дата |
|
USD/RUB | 93.4409 | BTC/USD | 63911.2956 |
|
|
|
Скрипты, программы и технические решения Обсуждаем скрипты, программы и новые технологии. |
08.07.2012, 01:35
|
#1
|
главный злодей гофака
Регистрация: 18.06.2007
Сообщений: 5,760
Бабло: $953648
|
Sphinx
Кто-то настраивал поиск на Sphinx ? Особенно интересует примеры production системы. Накидайте мануалов толковых.
__________________
|
|
|
08.07.2012, 02:15
|
#2
|
grablab.org
Регистрация: 18.09.2007
Адрес: Thailand
Сообщений: 4,893
Бабло: $322264
|
|
|
|
08.07.2012, 10:25
|
#3
|
Ромыч
Регистрация: 16.07.2008
Сообщений: 1,296
Бабло: $154950
|
На хабре вроде были толковые статьи по сфинксу. Ну и официальные доки вполне понятны, от установки до тончайшей настройки.
|
|
|
08.07.2012, 12:23
|
#4
|
главный злодей гофака
Регистрация: 18.06.2007
Сообщений: 5,760
Бабло: $953648
ТС -->
|
ТС
Цитата:
Сообщение от Rombl4
На хабре вроде были толковые статьи по сфинксу. Ну и официальные доки вполне понятны, от установки до тончайшей настройки.
|
Вот с хабра щяс и смотрю, на официальном сайте очень много старой инфы. Особенно мало инфы там для RT варианта. а в мануале некоторые опции хрен разберешь для чего нужны.
__________________
|
|
|
12.07.2012, 01:27
|
#5
|
Member
Регистрация: 16.01.2008
Сообщений: 86
Бабло: $11570
|
А помоему все там понятно... я про мануал. Я настраивал вобщем. Только, RT специально обходил стороной, т.к. когда зарождался проект - сфинкс глючил с RT. Но сейчас вроде как все ок. Вобщем, если есть вопросы - велкам.
|
|
|
12.07.2012, 02:10
|
#6
|
главный злодей гофака
Регистрация: 18.06.2007
Сообщений: 5,760
Бабло: $953648
ТС -->
|
ТС
Цитата:
Сообщение от Gyrus
А помоему все там понятно... я про мануал. Я настраивал вобщем. Только, RT специально обходил стороной, т.к. когда зарождался проект - сфинкс глючил с RT. Но сейчас вроде как все ок. Вобщем, если есть вопросы - велкам.
|
тоже думаю RT использовать не буду. запилил обычный конфиг и всё заработало, а RT парился 3 часа и он всёравно выдавал хрень, при этом грузил проц на 15% больше.вопросов вроде как уже и нету, видимо не зря 2 дня читал маны.
__________________
|
|
|
12.07.2012, 14:21
|
#7
|
Member
Регистрация: 16.01.2008
Сообщений: 86
Бабло: $11570
|
Цитата:
Сообщение от sspy
... видимо не зря 2 дня читал маны.
|
Ага. И еще, по поводу RT. Можно обновлять атрибуты, у любого индекса. Нельзя добавлять только новые строки в индекс (это рт). А с обновлениями атрибутов, и дельта индексами - все отлично работает. Единственное, кстати. проверяй длину запроса. Достаточно длинный запрос - может тормознуть нормальный сервер секунд на 10-40 (у меня тормозился феном х6 3ггц), на хорошей базе. И со звездочкой проверь все. В некоторых случаях, помогал только ресет сервера, при использовании звездочки, и без лимитов в конфиге... )
|
|
|
12.07.2012, 14:30
|
#8
|
главный злодей гофака
Регистрация: 18.06.2007
Сообщений: 5,760
Бабло: $953648
ТС -->
|
ТС
Цитата:
Сообщение от Gyrus
Единственное, кстати. проверяй длину запроса. Достаточно длинный запрос - может тормознуть нормальный сервер секунд на 10-40 (у меня тормозился феном х6 3ггц), на хорошей базе. И со звездочкой проверь все. В некоторых случаях, помогал только ресет сервера, при использовании звездочки, и без лимитов в конфиге... )
|
С запросами еще не до конца разобрался, но судя по предварительным тестам должен тянуть без проблем.
Насколько я понял есть смысл включать в индекс все поля через *, что-б убрать прямые запросы к mysql. А дальше уже сортировать и обрабатывать через сфинкс. Так ?
Одиночные записи(если известен id) выводятся с mysql, а не сфинксa ?
__________________
|
|
|
20.07.2012, 11:24
|
#9
|
Member
Регистрация: 16.01.2008
Сообщений: 86
Бабло: $11570
|
Нет, смысла включать все поля через * в индекс сфинкса - никакого нет. Иначе, если база большая, индекс вырастет до диких размеров, и сожрет всю память. Если база не большая - то впринципе можно, но все равно фигня. Т.е. тут нужен баланс некоторый. Если размер индекса увеличится не сильно - то можно делать строковые атрибуты, и прочие дополнительные атрибуты, и загонять данные туда, чтоб не дергать в последствии мускль. Но стоит учитывать то, что все атрибуты - загружаются в память, и висят там. Т.е. чем больше атрибутов в индексе сфинкса - тем больше памяти жрет процесс searchd.
Вообще, тут получается мухи отдельно, котлеты - отдельно. Сам сфинкс лезет в мускль только на этапе индексации. И все. Т.е. есть смысл - в индекс загонять нужные тебе текстовые поля, нужные атрибуты, по которым будет делаться сортировка и прочие вещи. И уже после выдачи сфинкса - дергать мускль запросом по primary id. Такие запросы чертовски быстрые.
И походу. Когда изучал вопрос - все бенчмарки говорили, что SphinxQL работает быстрее, чем SphinxAPI.
|
|
|
21.07.2012, 00:01
|
#10
|
автоматизирую интернеты
Регистрация: 05.07.2009
Адрес: chesser.ru
Сообщений: 3,362
Бабло: $470735
|
ТС, а зачем тебе sphinx ? полнотекстовый поиск, учитывающий морфологию?
у меня как-то была задача много и быстро искать - справился сам, без sphinx
Если нужно организовать простой поиск, без стемминга и прочей морфологии, - тут memory таблицы могут хорошо помочь.
Я в своей задаче все свел к построению своего индекса на основе memory, 3НФ, идентификации на хешах и хеш-индексам + можно было mysql_handlersocket использовать для еще большей скорости. А скорости получились приличные - сотни тысяч запросов в секунду по таблице более 100 млн записей. Из минусов - это возможные коллизии при идентификации, но я не бозон хиггса искал.
Сфинкс делает тоже самое - строит свой индекс своими способами. Но не всегда нужны его навороты.
ps хотя наверно сфинкс настраивается легче, чем организовывать свой индекс
|
|
|
|