From a2739bc749364ce1a4ca17d1cb9e2f1efd00b2bc Mon Sep 17 00:00:00 2001 From: Kirill Date: Sun, 29 Jan 2012 23:37:32 +0600 Subject: [PATCH] New version of kohana sphinxql from working project --- LICENSE | 0 README | 13 +++++++++++-- classes/kohana/sphinxql.php | 0 classes/kohana/sphinxql/client.php | 16 ++++++++++++++-- classes/kohana/sphinxql/core.php | 6 ++++-- classes/kohana/sphinxql/query.php | 0 classes/sphinxql.php | 0 classes/sphinxql/client.php | 0 classes/sphinxql/core.php | 0 classes/sphinxql/query.php | 0 config/sphinxql.php | 3 +-- docs/classtrees_kohana-sphinxql.html | 0 docs/elementindex.html | 0 docs/elementindex_kohana-sphinxql.html | 0 docs/errors.html | 0 docs/index.html | 0 docs/kohana-sphinxql/Kohana_SphinxQL.html | 0 docs/kohana-sphinxql/Kohana_SphinxQL_Client.html | 0 docs/kohana-sphinxql/Kohana_SphinxQL_Core.html | 0 docs/kohana-sphinxql/Kohana_SphinxQL_Query.html | 0 docs/kohana-sphinxql/SphinxQL.html | 0 docs/kohana-sphinxql/SphinxQL_Client.html | 0 docs/kohana-sphinxql/SphinxQL_Core.html | 0 docs/kohana-sphinxql/SphinxQL_Query.html | 0 .../_kohana---sphinxql---client.php.html | 0 .../_kohana---sphinxql---core.php.html | 0 .../_kohana---sphinxql---query.php.html | 0 docs/kohana-sphinxql/_kohana---sphinxql.php.html | 0 docs/kohana-sphinxql/_sphinxql---client.php.html | 0 docs/kohana-sphinxql/_sphinxql---core.php.html | 0 docs/kohana-sphinxql/_sphinxql---query.php.html | 0 docs/kohana-sphinxql/_sphinxql.php.html | 0 docs/li_kohana-sphinxql.html | 0 docs/media/layout.css | 0 docs/media/print.css | 0 docs/media/style.css | 0 36 files changed, 30 insertions(+), 8 deletions(-) mode change 100644 => 100755 LICENSE mode change 100644 => 100755 README mode change 100644 => 100755 classes/kohana/sphinxql.php mode change 100644 => 100755 classes/kohana/sphinxql/client.php mode change 100644 => 100755 classes/kohana/sphinxql/core.php mode change 100644 => 100755 classes/kohana/sphinxql/query.php mode change 100644 => 100755 classes/sphinxql.php mode change 100644 => 100755 classes/sphinxql/client.php mode change 100644 => 100755 classes/sphinxql/core.php mode change 100644 => 100755 classes/sphinxql/query.php mode change 100644 => 100755 config/sphinxql.php mode change 100644 => 100755 docs/classtrees_kohana-sphinxql.html mode change 100644 => 100755 docs/elementindex.html mode change 100644 => 100755 docs/elementindex_kohana-sphinxql.html mode change 100644 => 100755 docs/errors.html mode change 100644 => 100755 docs/index.html mode change 100644 => 100755 docs/kohana-sphinxql/Kohana_SphinxQL.html mode change 100644 => 100755 docs/kohana-sphinxql/Kohana_SphinxQL_Client.html mode change 100644 => 100755 docs/kohana-sphinxql/Kohana_SphinxQL_Core.html mode change 100644 => 100755 docs/kohana-sphinxql/Kohana_SphinxQL_Query.html mode change 100644 => 100755 docs/kohana-sphinxql/SphinxQL.html mode change 100644 => 100755 docs/kohana-sphinxql/SphinxQL_Client.html mode change 100644 => 100755 docs/kohana-sphinxql/SphinxQL_Core.html mode change 100644 => 100755 docs/kohana-sphinxql/SphinxQL_Query.html mode change 100644 => 100755 docs/kohana-sphinxql/_kohana---sphinxql---client.php.html mode change 100644 => 100755 docs/kohana-sphinxql/_kohana---sphinxql---core.php.html mode change 100644 => 100755 docs/kohana-sphinxql/_kohana---sphinxql---query.php.html mode change 100644 => 100755 docs/kohana-sphinxql/_kohana---sphinxql.php.html mode change 100644 => 100755 docs/kohana-sphinxql/_sphinxql---client.php.html mode change 100644 => 100755 docs/kohana-sphinxql/_sphinxql---core.php.html mode change 100644 => 100755 docs/kohana-sphinxql/_sphinxql---query.php.html mode change 100644 => 100755 docs/kohana-sphinxql/_sphinxql.php.html mode change 100644 => 100755 docs/li_kohana-sphinxql.html mode change 100644 => 100755 docs/media/layout.css mode change 100644 => 100755 docs/media/print.css mode change 100644 => 100755 docs/media/style.css diff --git a/LICENSE b/LICENSE old mode 100644 new mode 100755 diff --git a/README b/README old mode 100644 new mode 100755 index 4df7659..5bc991f --- a/README +++ b/README @@ -1,9 +1,18 @@ -SphinxQL for Kohana 3.2 +SphinxQL for Kohana =================== Overview -------- -This is sphinx plugin for kohana 3.2 + +I wrote this because the other Kohana Sphinx plugin on github was reliant on +the pure PHP sphinx API and was discontinued. This plugin, as suggested by its +name, uses the SphinxQL interface. This means there's less dependancies as it +uses the built-in MySQL interface from PHP. _NOTE_: to use this, MySQL server +does _NOT_ need to be installed on the server. Only the MySQL client library for +PHP is required. As the MySQL interface in PHP is built as an extension, it's +faster than the regular Sphinx API as well, you can check the benchmarks out +here: http://sphinxsearch.com/blog/2010/04/25/sphinxapi-vs-sphinxql-benchmark/ + Requirements ------------ diff --git a/classes/kohana/sphinxql.php b/classes/kohana/sphinxql.php old mode 100644 new mode 100755 diff --git a/classes/kohana/sphinxql/client.php b/classes/kohana/sphinxql/client.php old mode 100644 new mode 100755 index 514524f..38c2655 --- a/classes/kohana/sphinxql/client.php +++ b/classes/kohana/sphinxql/client.php @@ -73,10 +73,22 @@ class Kohana_SphinxQL_Client { */ public function query($query) { $this->_result = false; - if (is_string($query) && $this->connect()) { $this->_result = mysql_query($query, $this->_handle); } + if (is_string($query) && $this->connect()) { + @$this->_result = mysql_query($query, $this->_handle); + } return $this; } + public function total_find() { + $result = mysql_query("SHOW META"); + if($result) { + $result = mysql_fetch_assoc($result); + return intval($result['Value']); + } else { + return 0; + } + } + /** * Fetch one row of the result set * @@ -101,4 +113,4 @@ class Kohana_SphinxQL_Client { } } -?> \ No newline at end of file +?> diff --git a/classes/kohana/sphinxql/core.php b/classes/kohana/sphinxql/core.php old mode 100644 new mode 100755 index 139d996..879fd51 --- a/classes/kohana/sphinxql/core.php +++ b/classes/kohana/sphinxql/core.php @@ -75,11 +75,13 @@ class Kohana_SphinxQL_Core { if (!is_a($query, 'SphinxQL_Query') && !is_string($query)) { return false; } while (($names = array_keys(self::$_handles)) && count($names) && ($name = $names[intval(rand(0, count($names)-1))])) { $client = self::$_handles[$name]; - $return = $client->query((string)$query)->fetch_all(); + $result = $client->query((string)$query); + $return['data'] = $client->query((string)$query)->fetch_all(); + $return['total'] = $client->total_find(); if (is_array($return)) { return $return; } else { unset(self::$_handles[$name]); } } return false; } } -?> \ No newline at end of file +?> diff --git a/classes/kohana/sphinxql/query.php b/classes/kohana/sphinxql/query.php old mode 100644 new mode 100755 diff --git a/classes/sphinxql.php b/classes/sphinxql.php old mode 100644 new mode 100755 diff --git a/classes/sphinxql/client.php b/classes/sphinxql/client.php old mode 100644 new mode 100755 diff --git a/classes/sphinxql/core.php b/classes/sphinxql/core.php old mode 100644 new mode 100755 diff --git a/classes/sphinxql/query.php b/classes/sphinxql/query.php old mode 100644 new mode 100755 diff --git a/config/sphinxql.php b/config/sphinxql.php old mode 100644 new mode 100755 index d5e4456..7dd0e94 --- a/config/sphinxql.php +++ b/config/sphinxql.php @@ -26,10 +26,9 @@ return array( //'sphinx_second' => '123.45.67.89:8765', // ...or! - //'my_only_server' => '127.0.0.1:2222', 'my_only_server' => '127.0.0.1:9312', ), ), ); -?> \ No newline at end of file +?> diff --git a/docs/classtrees_kohana-sphinxql.html b/docs/classtrees_kohana-sphinxql.html old mode 100644 new mode 100755 diff --git a/docs/elementindex.html b/docs/elementindex.html old mode 100644 new mode 100755 diff --git a/docs/elementindex_kohana-sphinxql.html b/docs/elementindex_kohana-sphinxql.html old mode 100644 new mode 100755 diff --git a/docs/errors.html b/docs/errors.html old mode 100644 new mode 100755 diff --git a/docs/index.html b/docs/index.html old mode 100644 new mode 100755 diff --git a/docs/kohana-sphinxql/Kohana_SphinxQL.html b/docs/kohana-sphinxql/Kohana_SphinxQL.html old mode 100644 new mode 100755 diff --git a/docs/kohana-sphinxql/Kohana_SphinxQL_Client.html b/docs/kohana-sphinxql/Kohana_SphinxQL_Client.html old mode 100644 new mode 100755 diff --git a/docs/kohana-sphinxql/Kohana_SphinxQL_Core.html b/docs/kohana-sphinxql/Kohana_SphinxQL_Core.html old mode 100644 new mode 100755 diff --git a/docs/kohana-sphinxql/Kohana_SphinxQL_Query.html b/docs/kohana-sphinxql/Kohana_SphinxQL_Query.html old mode 100644 new mode 100755 diff --git a/docs/kohana-sphinxql/SphinxQL.html b/docs/kohana-sphinxql/SphinxQL.html old mode 100644 new mode 100755 diff --git a/docs/kohana-sphinxql/SphinxQL_Client.html b/docs/kohana-sphinxql/SphinxQL_Client.html old mode 100644 new mode 100755 diff --git a/docs/kohana-sphinxql/SphinxQL_Core.html b/docs/kohana-sphinxql/SphinxQL_Core.html old mode 100644 new mode 100755 diff --git a/docs/kohana-sphinxql/SphinxQL_Query.html b/docs/kohana-sphinxql/SphinxQL_Query.html old mode 100644 new mode 100755 diff --git a/docs/kohana-sphinxql/_kohana---sphinxql---client.php.html b/docs/kohana-sphinxql/_kohana---sphinxql---client.php.html old mode 100644 new mode 100755 diff --git a/docs/kohana-sphinxql/_kohana---sphinxql---core.php.html b/docs/kohana-sphinxql/_kohana---sphinxql---core.php.html old mode 100644 new mode 100755 diff --git a/docs/kohana-sphinxql/_kohana---sphinxql---query.php.html b/docs/kohana-sphinxql/_kohana---sphinxql---query.php.html old mode 100644 new mode 100755 diff --git a/docs/kohana-sphinxql/_kohana---sphinxql.php.html b/docs/kohana-sphinxql/_kohana---sphinxql.php.html old mode 100644 new mode 100755 diff --git a/docs/kohana-sphinxql/_sphinxql---client.php.html b/docs/kohana-sphinxql/_sphinxql---client.php.html old mode 100644 new mode 100755 diff --git a/docs/kohana-sphinxql/_sphinxql---core.php.html b/docs/kohana-sphinxql/_sphinxql---core.php.html old mode 100644 new mode 100755 diff --git a/docs/kohana-sphinxql/_sphinxql---query.php.html b/docs/kohana-sphinxql/_sphinxql---query.php.html old mode 100644 new mode 100755 diff --git a/docs/kohana-sphinxql/_sphinxql.php.html b/docs/kohana-sphinxql/_sphinxql.php.html old mode 100644 new mode 100755 diff --git a/docs/li_kohana-sphinxql.html b/docs/li_kohana-sphinxql.html old mode 100644 new mode 100755 diff --git a/docs/media/layout.css b/docs/media/layout.css old mode 100644 new mode 100755 diff --git a/docs/media/print.css b/docs/media/print.css old mode 100644 new mode 100755 diff --git a/docs/media/style.css b/docs/media/style.css old mode 100644 new mode 100755