Комментарии 50
Протокол сильно поменялся (двоичный, я имею в виду)?
0
SphinxAPI почти не менялся — ну и он всегда обратно совместим, если что.
+5
О. Любопытно, что за платформа?
+2
Node.js
0
Вот сам коннектор.
0
Куча новых слов, но интересно, спасибо!
Надо внести в список 3rd party APIs…
Надо внести в список 3rd party APIs…
+2
Я думал Вас об этом попросить когда коннектор будет чуть более отполирован. Но можно и сейчас, тем более что для общения со Sphinx он уже годится.
0
Пользуясь случаем хочу сказать что работал довольно много со Sphinx и SphinxApi и активно приходилось использовать мультизапросы AddQuery — т.е. делать несколько поисков в одном запросе (для добавления вывода количества совпадений по категориям товаров, по интервалам цен и т.д.).
Так вот, ОЧЕНЬ неудобно то, что весь API реализован в одном классе — такие функции как SetFilter, setGroupBy и прочие действуют «глобально». Т.е. создал я запрос, установил параметры ранкинга, группировки, сортировки, фильтрации по атрибутам, добавил запрос в addQuery и чтобы сделать следующий запрос приходится подчищать все параметры предыдущего запроса — делать кучу reset-ов. а это ну ооочень напрягает. Создавать для каждого запроса новый экземпляр SphinxClient накладно т.к. придется создавать отдельное подключение.
Мое пожелание — делать в API 2 класса — один для формирования запроса и второй для отправки запроса(ов) серверу и получения ответа. т.е. мы создаем несколько независимых экземпляров SphinxQuery, каждому выставляем свои SetFilter setGroupBy и пр. и скармливаем экземпляру SphinxServer, который и отсылает запросы на сервер и возвращает результаты.
Хотя, возможно, я просто не до конца разобрался?
Так вот, ОЧЕНЬ неудобно то, что весь API реализован в одном классе — такие функции как SetFilter, setGroupBy и прочие действуют «глобально». Т.е. создал я запрос, установил параметры ранкинга, группировки, сортировки, фильтрации по атрибутам, добавил запрос в addQuery и чтобы сделать следующий запрос приходится подчищать все параметры предыдущего запроса — делать кучу reset-ов. а это ну ооочень напрягает. Создавать для каждого запроса новый экземпляр SphinxClient накладно т.к. придется создавать отдельное подключение.
Мое пожелание — делать в API 2 класса — один для формирования запроса и второй для отправки запроса(ов) серверу и получения ответа. т.е. мы создаем несколько независимых экземпляров SphinxQuery, каждому выставляем свои SetFilter setGroupBy и пр. и скармливаем экземпляру SphinxServer, который и отсылает запросы на сервер и возвращает результаты.
Хотя, возможно, я просто не до конца разобрался?
0
Кстати! В предложенном kurokikaze JS API github.com/kurokikaze/limestone/blob/master/limestone.js примерно так и сделано. есть класс Sphinx и есть raw_query))) Я не одинок!
0
Отличный девиз! :)
Спасибо вам за то, что вы делаете!
Спасибо вам за то, что вы делаете!
0
А на русском языке к нему нет документации?
+1
Ааааа!!! Андрей!!!
Я ваш фанат, дайте автограф!!!1
Я ваш фанат, дайте автограф!!!1
+2
А виндовая версия по-прежнему не рекомендуется для продакшена?
0
Всё, пошел пробовать.
0
Vim, BSD, Sphinx! What a week…
+5
сфинкс «научился» выдавать прямое вхождение запроса выше остальных вариантов?
0
SPH_RANK_SPH04, sphinxsearch.com/docs/current.html#api-func-setrankingmode
+3
Ура! Свершилось! Я ждал этого дня несколько лет!
0
Андрей, я тут прочитал, что MySQL теперь вроде как и не обязателен. Т.е. если у меня куча xml-файлов, sphinx их может сам проиндескировать без предварительного разбора?
Можно какой-нибудь примерчик на эту тему? На сайте что-то не нашел.
Можно какой-нибудь примерчик на эту тему? На сайте что-то не нашел.
0
Необязателен давно. sphinxsearch.com/docs/current.html#xmlpipe2
0
Fedora 13.
[root@gf-home-server ~]# rpm -i sphinx-1.10-1.el5.x86_64.rpm
ошибка: Неудовлетворенные зависимости:
libcrypto.so.6()(64bit) нужен для sphinx-1.10-1.el5.x86_64
libexpat.so.0()(64bit) нужен для sphinx-1.10-1.el5.x86_64
libmysqlclient.so.15()(64bit) нужен для sphinx-1.10-1.el5.x86_64
libmysqlclient.so.15(libmysqlclient_15)(64bit) нужен для sphinx-1.10-1.el5.x86_64
libssl.so.6()(64bit) нужен для sphinx-1.10-1.el5.x86_64
[root@gf-home-server ~]# rpm -i sphinx-1.10-1.el5.x86_64.rpm
ошибка: Неудовлетворенные зависимости:
libcrypto.so.6()(64bit) нужен для sphinx-1.10-1.el5.x86_64
libexpat.so.0()(64bit) нужен для sphinx-1.10-1.el5.x86_64
libmysqlclient.so.15()(64bit) нужен для sphinx-1.10-1.el5.x86_64
libmysqlclient.so.15(libmysqlclient_15)(64bit) нужен для sphinx-1.10-1.el5.x86_64
libssl.so.6()(64bit) нужен для sphinx-1.10-1.el5.x86_64
0
Уже давно использую real-time индексы.
Работает отлично.
Релиз беты — это как праздник для меня!
Работает отлично.
Релиз беты — это как праздник для меня!
0
Также, строковых атрибутов очень не хватало.
Теперь нет необходимости держать в отдельной базе связь indexID с строковыми ID.
Например:
* строковые ключи mongoDB
* строковые ID документов dokuwiki
Сфинкс поиск стал намного удбней и девиз хороший!
Так держать Андрей!
Теперь нет необходимости держать в отдельной базе связь indexID с строковыми ID.
Например:
* строковые ключи mongoDB
* строковые ID документов dokuwiki
Сфинкс поиск стал намного удбней и девиз хороший!
Так держать Андрей!
+1
Когда 1 сайт — настроил индекс и забыл.
А когда их 40 и одинаковая структура — тяжело для каждого настраивать
Может есть какие-нибудь способы, чтобы не нужно было каждый раз создавать конфиг для индекса?
А когда их 40 и одинаковая структура — тяжело для каждого настраивать
Может есть какие-нибудь способы, чтобы не нужно было каждый раз создавать конфиг для индекса?
0
Где бы еще спросить… Спрошу здесь… Как можно подружить SphinxQL и NET приложения? Протоко mysql41 который используется в SphinxQL не поддерживается MySQL .NET/connector.
0
к сожалению, 1.10b так и не заработала с RT под Windows. При попытке добавить что-то в RT демон сразу же падает :(
0
Андрюха, я понял чем ты налошил: надо было делать не SphinxQL, а расширяемый XML язык, который бы ходил по SOAP-у в Corba транспорте. Тогда тебе проблема как шарить данные между соседними тредами показалась бы совершенно незначительной =)
0
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
вышел Sphinx 1.10-beta