Как известно, Sphinxsearch поддерживает протокол MySQL (у Сфинкса он называется SphinxQL) и в этой связи рекомендует использовать именно такой (не API) способ общения с ним.
Т.е. - любой MySQL клиент под Питон - и вуаля.
Увы, Оракл подложил здесь большую свинью, причем, года так с 2012 а то и 2010: именно такие даты в тредах на MySQL форуме, в которых участвовал сам создатель Сфинкса.
Решение, найденное тогда, рекомендовало - впишите в sphinx.conf строку, чтобы он представлялся MySQL сервером конкретной версии (что-то вроде 5.0.37, в треде есть цифры и для более поздней версии коннектора), и Oracle MySQL Python connector
Я описываю это так подробно, потому что проблемы не только у Питонщиков, .Net - программисты обсуждают это на своих ресурсах, и, кажется, Javа-прогерам тоже досталось.
Даже гуру Sphinx - Игорь Чакрыгин, которому мы все благодарны за цикл постов про поисковый движок, не нашел для .Net ничего лучше, чем воспользоваться старым клиентом.
Не знаю, поможет ли это Питону под Windows - cтарый клиент для Python 3.3, а уже 3.4, но, к счастью, этого и не нужно.
Потому что кроме официального от Orcale в Python есть еще минимум два-три MySQL коннектора
https://pypi.python.org/pypi/mysqlclient
https://github.com/PyMySQL/PyMySQL
https://pythonhosted.org/oursql/ ( не поставился, подозреваю, что компилить)
и второй стразу же заработал (на первый еще примеры нужно искать)
еще были экзотические идеи вроде изменения параметров соединения, http://dev.mysql.com/doc/connector-python/en/connector-python-connectargs.html
P.S. кстати, Jango деклаириует поддержку из коробки
http://django-sphinxql.readthedocs.org/en/latest/indexes.html
примеры использования MySQL коннектора:
http://mysql-python.sourceforge.net/MySQLdb.html
неплохая таблица о состоянии MySQL клиентов к Питон
отсюда
Т.е. - любой MySQL клиент под Питон - и вуаля.
Увы, Оракл подложил здесь большую свинью, причем, года так с 2012 а то и 2010: именно такие даты в тредах на MySQL форуме, в которых участвовал сам создатель Сфинкса.
Решение, найденное тогда, рекомендовало - впишите в sphinx.conf строку, чтобы он представлялся MySQL сервером конкретной версии (что-то вроде 5.0.37, в треде есть цифры и для более поздней версии коннектора), и Oracle MySQL Python connector
Я описываю это так подробно, потому что проблемы не только у Питонщиков, .Net - программисты обсуждают это на своих ресурсах, и, кажется, Javа-прогерам тоже досталось.
Даже гуру Sphinx - Игорь Чакрыгин, которому мы все благодарны за цикл постов про поисковый движок, не нашел для .Net ничего лучше, чем воспользоваться старым клиентом.
Не знаю, поможет ли это Питону под Windows - cтарый клиент для Python 3.3, а уже 3.4, но, к счастью, этого и не нужно.
Потому что кроме официального от Orcale в Python есть еще минимум два-три MySQL коннектора
https://pypi.python.org/pypi/mysqlclient
https://github.com/PyMySQL/PyMySQL
https://pythonhosted.org/oursql/ ( не поставился, подозреваю, что компилить)
и второй стразу же заработал (на первый еще примеры нужно искать)
db = pymysql.connect(host='127.0.0.1', port=9306, user='', passwd='', db='', cursorclass=pymysql.cursors.DictCursor)
еще были экзотические идеи вроде изменения параметров соединения, http://dev.mysql.com/doc/connector-python/en/connector-python-connectargs.html
P.S. кстати, Jango деклаириует поддержку из коробки
http://django-sphinxql.readthedocs.org/en/latest/indexes.html
примеры использования MySQL коннектора:
http://mysql-python.sourceforge.net/MySQLdb.html
неплохая таблица о состоянии MySQL клиентов к Питон
MySQL DB Drivers Comparison
Project | PyPi hosted | Eventlet friendly | Python 3 compatibility | Maturity and/or stability | Comment |
---|---|---|---|---|---|
MySQL-Connector-Python | No | Yes | Yes | Yes, though the driver is still fairly new | The official Oracle-supported driver for MySQL |
MySQL-Python | Yes | Partial | No | Yes | Can be monkeypatched by eventlet, but only to enable thread pooling |
mysqlclient | Yes | Partial | Yes | Yes | Initial testing shows that this is a promising DBAPI if eventlet requirement can be dropped |
OurSQL | Yes | No | Yes, but not Pypi hosted | No | Development halted fairly early on, and has not seen commits/releases in two years |
PyMySQL | Yes | Yes | Yes | Yes, however see notes below. | Actively maintained and popular. |
Комментарии
Отправить комментарий