Комментарии 37
habrahabr.ru/blogs/php/41702/ — behavior для CakePHP
+1
Про RT бы поподробнее.
Мануала нормального пока нет.
Статейку бы вводную с примерами.
Мануала нормального пока нет.
Статейку бы вводную с примерами.
0
> Мануала нормального пока нет.
Дык, одна (одна) из причин задержки альфа-релиза.
Дык, одна (одна) из причин задержки альфа-релиза.
0
А как вы себя позиционируете по отношению к Apache Lucene?
+1
Что конкретно имеется в виду под «позиционированием»?
Для начала, Lucene вообще библиотека, Sphinx готовый к использованию «из коробки» сервер.
Для начала, Lucene вообще библиотека, Sphinx готовый к использованию «из коробки» сервер.
+1
Имеется ввиду use-cases, где Sphinx предпочтительнее: расширяемость, функции(spell-checker, crawler, индексирование pdf/excel etc) или производительность.
Ну под Apache Lucene я имел ввиду проект ASF, в который входит такой же «готовый к использованию «из коробки» сервер» Solr.
Ну под Apache Lucene я имел ввиду проект ASF, в который входит такой же «готовый к использованию «из коробки» сервер» Solr.
0
Ууу, подробный сравнительный анализ это на серию обстоятельных постов как минимум, на полтомика как максимум.
Очень (очень) вкратце, индексация и поиск у нас быстрее до нескольких раз. Плюс умеем делать ряд интересных штук, которые Lucene/Solr делать не умеют (и наоборот, наверняка, тоже).
Ну вот потихоньку работаем над тем, чтобы «наоборот» не оставалось, набор случаев, где категорически надо именно Lucene, сокращался, перформанс рос, итп ;)
Очень (очень) вкратце, индексация и поиск у нас быстрее до нескольких раз. Плюс умеем делать ряд интересных штук, которые Lucene/Solr делать не умеют (и наоборот, наверняка, тоже).
Ну вот потихоньку работаем над тем, чтобы «наоборот» не оставалось, набор случаев, где категорически надо именно Lucene, сокращался, перформанс рос, итп ;)
0
А вы решили ту проблему с сортировкой по random? а то у меня каждые раз выбираются одни и те же поля =)
0
И о модуле для Drupal вы не слышали? Правда, по данным сайта он давно не обновляется… Есть там же и более другая разработка.
Какой из них наиболее правильно использовать (Sphinx search vs. Sphinx search integration), не совсем понятно.
Какой из них наиболее правильно использовать (Sphinx search vs. Sphinx search integration), не совсем понятно.
0
Я ж не пользуюсь ничем. На что пришлют ссылку, о том слышу. Не пришлют, так нет!
0
Ни тот ни другой не очень-то функциональны. Плагин Sphinx под шестой версией не работает (хотя лежит стабильный релиз), плагин Sphinx search работает, но его надо допиливать. В принципе, dev-версия плагина Sphinx search спокойно работает в продакшене.
0
Аналогично использую девелоперскую версию drupal.org/project/sphinxsearch в которой убрал их собственный интерфейс индексации и написал ручные запросы sql. >30к материалов индексируется за 4 секунды против 6 минут встроенного скрипта.
+1
А не поделитесь sql-запросами? Если не жалко, конечно. ))
0
ничего военного =)
в базу добавлена таблица
а так выглядит секция sphinx.conf
Чего тут нет:
— индексации комментариев (она была не нужна)
— разбивки индекса на части (в данный момент main легко обновляется за 4 секунды глубокой ночью), а delta раз в 5 минут обновляется за несколько десятых секунды.
в базу добавлена таблица
CREATE TABLE IF NOT EXISTS `sph_counter` ( `counter_id` int(11) NOT NULL, `max_doc_id` int(11) NOT NULL, PRIMARY KEY (`counter_id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1;
а так выглядит секция sphinx.conf
source main { type = mysql sql_host = 127.0.0.1 sql_port = 3306 sql_db = *DB* sql_user = *LOGIN* sql_pass = *PASS* sql_query_pre = SET NAMES utf8 sql_query_pre = REPLACE INTO sph_counter SELECT 1, MAX(nid) FROM node sql_query_range = SELECT 1,( SELECT max_doc_id FROM sph_counter WHERE counter_id=1 ) sql_range_step = 1000 sql_query = select r.nid as id, r.nid as nid, r.title as subject, concat(r.teaser, r.body) \ as content, n.created, n.changed as last_updated, NOT(n.status) as is_deleted, n.type as nodetype, \ n.uid as uid \ from node_revisions r, node n where n.vid=r.vid and n.status > 0 \ and n.type IN ('news', 'poll', 'blog', 'story') and r.nid between $start and $end \ and r.nid <=( SELECT max_doc_id FROM sph_counter WHERE counter_id = 1 ) sql_attr_uint = nid sql_attr_uint = uid sql_attr_timestamp = created sql_attr_timestamp = last_updated sql_attr_bool = is_deleted } source delta : main { type = mysql sql_query_pre = SET NAMES utf8 sql_query_range = SELECT ( SELECT max_doc_id FROM sph_counter WHERE counter_id=1 ), MAX(nid) FROM node sql_range_step = 1000 sql_query = select r.nid as id, r.nid as nid, r.title as subject, concat(r.teaser, r.body) \ as content, n.created, n.changed as last_updated, NOT(n.status) as is_deleted, n.type as nodetype, \ n.uid as uid \ from node_revisions r, node n where n.vid=r.vid and n.status > 0 \ and n.type IN ('news', 'poll', 'blog', 'story') and r.nid between $start and $end }
Чего тут нет:
— индексации комментариев (она была не нужна)
— разбивки индекса на части (в данный момент main легко обновляется за 4 секунды глубокой ночью), а delta раз в 5 минут обновляется за несколько десятых секунды.
+1
Плагин для ZF какой-то высосанный из пальца: педжинатор, скрипт управления и конфиг, который умеет подставлять параметры соединения с БД. Плагинище! :)
Ждем человека, который осилит написать генератор конфига по Doctrinе-схеме.
Ждем человека, который осилит написать генератор конфига по Doctrinе-схеме.
0
Имхо, где-нибудь в скобках уточнить в двух словах что за сфинкс такой, было бы не лишним. Даже гугл сходу выдает, как минимум, два проекта.
-2
По RT вопросы, на основе
sphinxsearch.com/downloads/sphinx-mysqluc2010.pdf
Правильно ли я понял из фразы
«Indexing-wise, just INSERT rows (literally)»
Не индексер натравливаем на сохраненные в чем то данные, а данные толкаем по сути в индекс?
sphinxsearch.com/downloads/sphinx-mysqluc2010.pdf
Правильно ли я понял из фразы
«Indexing-wise, just INSERT rows (literally)»
Не индексер натравливаем на сохраненные в чем то данные, а данные толкаем по сути в индекс?
0
Угу, на то оно и RT. Батч-индексацию тем же indexer когда-нибудь тоже приделаем (это несколько муторно, но принципиальных проблем нет).
0
Тогда возникает такой вопрос.
По сути, сфинксу становится по фигу в каком типе сторейджа хранятся данные.
Естественно с ограничением «пока индекс не навернулся :-(»
Это так?
Дальше.
В принципе, есть ли препятствия для создания индекса в режиме RT, булками по
«1000+ rows/batch» где нибудь сбоку и последующей замены текущего индекса вновь созданным путем перетирания файлов, либо еще как нибудь?
Ну и последнее. Если есть команда «INSERT», «DELETE» будет?
По сути, сфинксу становится по фигу в каком типе сторейджа хранятся данные.
Естественно с ограничением «пока индекс не навернулся :-(»
Это так?
Дальше.
В принципе, есть ли препятствия для создания индекса в режиме RT, булками по
«1000+ rows/batch» где нибудь сбоку и последующей замены текущего индекса вновь созданным путем перетирания файлов, либо еще как нибудь?
Ну и последнее. Если есть команда «INSERT», «DELETE» будет?
0
Про сторадж не понял, MySQL storage engine и раньше глубоко пофигу был, без разница, откуда данные тащить.
Про замену индекса не понял совсем.
INSERT, REPLACE, DELETE, SELECT уже есть. Будет UPDATE, ограниченный.
Про замену индекса не понял совсем.
INSERT, REPLACE, DELETE, SELECT уже есть. Будет UPDATE, ограниченный.
0
Сторейдж в смысле «откуда данные тащить», речь про экзотику, типа разные там кассандры и т.п.
>Про замену индекса не понял совсем.
упс
:-(
пошел читать мануал
>Про замену индекса не понял совсем.
упс
:-(
пошел читать мануал
0
Данные тащить можно откуда угодно уже давно, см. sphinxsearch.com/docs/current.html#xmlpipe2
0
А Oracle, случаем, не хочет положить движок SphinxSE в коробочку с mysql?
0
Подскажите, есть ли возможность интегрировать модуль морфологии, чтобы использовать его, а не стеммер?
Если нет, то планируется ли и когда, если есть, то где об этом почитать?
Если нет, то планируется ли и когда, если есть, то где об этом почитать?
0
У Sphinx, к большому моему сожалению, есть проблема с саппортом. Баг репорт от 31 марта до сих пор не получил никакого внимания: www.sphinxsearch.com/bugs/view.php?id=503
Это единственная причина почему я собираюсь мигрировать на Lucene
Это единственная причина почему я собираюсь мигрировать на Lucene
0
> Баг репорт от 31 марта до сих пор не получил никакого внимания:
Если вы наш клиент — у вас есть специальный адрес, куда надо слать всю информацию о любых проблемах.
Если таки нет — ваши баг-репорты ничуть не менее нужны и важны (нередко даже более!), и рано или поздно ими обязательно займутся тоже.
Однако следует понимать — что в первую очередь ведутся работы по запросам клиентов, во вторую по запросам большинства (!) пользователей, и только в третью по конкретным баг-репортам, затрагивающим отдельных пользователей.
Идеальный бесплатный саппорт для всех с гарантированным временем реакции мы обеспечить не можем, да.
Если вы наш клиент — у вас есть специальный адрес, куда надо слать всю информацию о любых проблемах.
Если таки нет — ваши баг-репорты ничуть не менее нужны и важны (нередко даже более!), и рано или поздно ими обязательно займутся тоже.
Однако следует понимать — что в первую очередь ведутся работы по запросам клиентов, во вторую по запросам большинства (!) пользователей, и только в третью по конкретным баг-репортам, затрагивающим отдельных пользователей.
Идеальный бесплатный саппорт для всех с гарантированным временем реакции мы обеспечить не можем, да.
0
Нет-нет, это был ни в коей мере не наезд. Мой проект давно и успешно использует Sphinx и я пользуясь случаем хочу передать большую благодарность за этот проект, его создание и поддержку.
Я понимаю то, что Вы пишете про клиентов и бесплатный саппорт и все такое. Однако, справедливости ради, я готов понять такой подход в части дополнительной функциональности (наращивания фич), но не могу его понять в части баг-фиксов. Баг ведь есть? Есть. Вы готовы ждать, когда на эту граблю наступит платный клиент? Ок, Вам решать. Я со своей стороны считаю долгом отправить Вам баг-репорт с максимумом информации, это моя небольшая реальная благодарность за проект.
Ну а раз я не согласен с Вашей политикой саппорта, я смигрирую на Lucene. Это мое решение.
Я понимаю то, что Вы пишете про клиентов и бесплатный саппорт и все такое. Однако, справедливости ради, я готов понять такой подход в части дополнительной функциональности (наращивания фич), но не могу его понять в части баг-фиксов. Баг ведь есть? Есть. Вы готовы ждать, когда на эту граблю наступит платный клиент? Ок, Вам решать. Я со своей стороны считаю долгом отправить Вам баг-репорт с максимумом информации, это моя небольшая реальная благодарность за проект.
Ну а раз я не согласен с Вашей политикой саппорта, я смигрирую на Lucene. Это мое решение.
0
> Нет-нет, это был ни в коей мере не наезд.
Это было как минимум нехилое передергивание, как по мне.
> но не могу его понять в части баг-фиксов. Баг ведь есть? Есть.
Технически, у нас (у нас) есть только багрепорт.
Не факт, что баг возможно воспроизвести по данным багрепорта.
Не факт, что вообще есть баг.
> Вы готовы ждать, когда на эту граблю наступит платный клиент?
А это снова передергивание.
Повторяю: по всем (всем) баг-репортам рано или поздно ведется отработка.
Нужна реакция, но неважно, когда? Ок, ждите, пока руки дойдут (повторяю: они всегда доходят).
Нужна быстрая реакция с предсказуемыми ETA? Обращайтесь за коммерческой поддержкой.
Нужна быстрая реакция забесплатно? Извините, такой услуги в данный момент мы не предоставляем.
Это было как минимум нехилое передергивание, как по мне.
> но не могу его понять в части баг-фиксов. Баг ведь есть? Есть.
Технически, у нас (у нас) есть только багрепорт.
Не факт, что баг возможно воспроизвести по данным багрепорта.
Не факт, что вообще есть баг.
> Вы готовы ждать, когда на эту граблю наступит платный клиент?
А это снова передергивание.
Повторяю: по всем (всем) баг-репортам рано или поздно ведется отработка.
Нужна реакция, но неважно, когда? Ок, ждите, пока руки дойдут (повторяю: они всегда доходят).
Нужна быстрая реакция с предсказуемыми ETA? Обращайтесь за коммерческой поддержкой.
Нужна быстрая реакция забесплатно? Извините, такой услуги в данный момент мы не предоставляем.
0
>> Нет-нет, это был ни в коей мере не наезд.
> Это было как минимум нехилое передергивание, как по мне.
??! Баг репорт есть, реакции по нему нет. Пруфлинк мной дан.
>> но не могу его понять в части баг-фиксов. Баг ведь есть? Есть.
> Технически, у нас (у нас) есть только багрепорт.
> Не факт, что баг возможно воспроизвести по данным багрепорта.
> Не факт, что вообще есть баг.
Если я Вас правильно понял, никто и не пытался воспроизвести баг.
> > Вы готовы ждать, когда на эту граблю наступит платный клиент?
> А это снова передергивание.
Возможно я не понимаю значения Вашего термина «передергивать».
Вы же сами уже написали, что Вы будете ждать баг-репорта от платного клиента, пусть даже допустим он будет описывать то же самое (hint!)
Я со своей стороны могу еще раз повторить, что Вашу позицию понял, возражений не имею, хозяин, как говорится, барин. Но вот баг-репорты очевидно посылать больше не буду… пусть платные клиенты баги ищут.
> Это было как минимум нехилое передергивание, как по мне.
??! Баг репорт есть, реакции по нему нет. Пруфлинк мной дан.
>> но не могу его понять в части баг-фиксов. Баг ведь есть? Есть.
> Технически, у нас (у нас) есть только багрепорт.
> Не факт, что баг возможно воспроизвести по данным багрепорта.
> Не факт, что вообще есть баг.
Если я Вас правильно понял, никто и не пытался воспроизвести баг.
> > Вы готовы ждать, когда на эту граблю наступит платный клиент?
> А это снова передергивание.
Возможно я не понимаю значения Вашего термина «передергивать».
Вы же сами уже написали, что Вы будете ждать баг-репорта от платного клиента, пусть даже допустим он будет описывать то же самое (hint!)
Я со своей стороны могу еще раз повторить, что Вашу позицию понял, возражений не имею, хозяин, как говорится, барин. Но вот баг-репорты очевидно посылать больше не буду… пусть платные клиенты баги ищут.
0
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Новости проекта Sphinx, весна 2010