Commit 0e6d174e authored by Bas de Nooijer's avatar Bas de Nooijer

Lots of fixes in examples

parent 84906155
<?php <?php
require('init.php'); require('init.php');
use Solarium\QueryType\Select\Query\Query as Select;
htmlHeader(); htmlHeader();
// create a client instance // create a client instance
...@@ -19,7 +21,7 @@ $query->setStart(2)->setRows(20); ...@@ -19,7 +21,7 @@ $query->setStart(2)->setRows(20);
$query->setFields(array('id','name','price')); $query->setFields(array('id','name','price'));
// sort the results by price ascending // sort the results by price ascending
$query->addSort('price', Solarium\Query\Select\Select::SORT_ASC); $query->addSort('price', Select::SORT_ASC);
// this executes the query and returns the result // this executes the query and returns the result
$resultset = $client->select($query); $resultset = $client->select($query);
......
<?php <?php
require('init.php'); require('init.php');
use Solarium\Client\Client;
use Solarium\QueryType\Select\Query\Query as Select;
htmlHeader(); htmlHeader();
// create a client instance // create a client instance
$client = new Solarium\Client\Client($config); $client = new Client($config);
// first create a base query as a query class // first create a base query as a query class
class PriceQuery extends Solarium\Query\Select\Select class PriceQuery extends Select
{ {
protected function _init() protected function _init()
{ {
......
<?php <?php
require('init.php'); require('init.php');
use Solarium\Client\Client;
htmlHeader(); htmlHeader();
// create a client instance // create a client instance
$client = new Solarium\Client\Client($config); $client = new Client($config);
// get a morelikethis query instance // get a morelikethis query instance
$query = $client->createMoreLikeThis(); $query = $client->createMoreLikeThis();
......
<?php <?php
require('init.php'); require('init.php');
use Solarium\QueryType\Select\Query\Query as Select;
htmlHeader(); htmlHeader();
// create a client instance // create a client instance
...@@ -13,7 +15,7 @@ $query = $client->createSelect(); ...@@ -13,7 +15,7 @@ $query = $client->createSelect();
$query->setQuery('*:*'); $query->setQuery('*:*');
$query->setStart(2)->setRows(20); $query->setStart(2)->setRows(20);
$query->setFields(array('id','name','price')); $query->setFields(array('id','name','price'));
$query->addSort('price', Solarium\Query\Select\Select::SORT_ASC); $query->addSort('price', Select::SORT_ASC);
// create a filterquery using the API // create a filterquery using the API
$fq = $query->createFilterQuery('maxprice')->setQuery('price:[1 TO 300]'); $fq = $query->createFilterQuery('maxprice')->setQuery('price:[1 TO 300]');
......
<?php <?php
require('init.php'); require('init.php');
use Solarium\Client\Client;
use Solarium\QueryType\Select\Query\Query as Select;
htmlHeader(); htmlHeader();
// In most cases using the API or config is advisable, however in some cases it can make sense to extend classes. // In most cases using the API or config is advisable, however in some cases it can make sense to extend classes.
// This makes it possible to create 'query inheritance' like in this example // This makes it possible to create 'query inheritance' like in this example
class ProductQuery extends Solarium\Query\Select{ class ProductQuery extends Select{
protected function _init() protected function _init()
{ {
...@@ -15,7 +18,7 @@ class ProductQuery extends Solarium\Query\Select{ ...@@ -15,7 +18,7 @@ class ProductQuery extends Solarium\Query\Select{
$this->setQuery('*:*'); $this->setQuery('*:*');
$this->setStart(2)->setRows(20); $this->setStart(2)->setRows(20);
$this->setFields(array('id','name','price')); $this->setFields(array('id','name','price'));
$this->addSort('price', Solarium\Query\Select::SORT_ASC); $this->addSort('price', self::SORT_ASC);
// create a facet field instance and set options // create a facet field instance and set options
$facetSet = $this->getFacetSet(); $facetSet = $this->getFacetSet();
...@@ -39,7 +42,7 @@ class ProductPriceLimitedQuery extends ProductQuery{ ...@@ -39,7 +42,7 @@ class ProductPriceLimitedQuery extends ProductQuery{
} }
// create a client instance // create a client instance
$client = new Solarium\Client\Client($config); $client = new Client($config);
// create a query instance // create a query instance
$query = new ProductPriceLimitedQuery; $query = new ProductPriceLimitedQuery;
......
<?php <?php
require('init.php'); require('init.php');
use Solarium\Client\Client;
use Solarium\QueryType\Select\Query\Query as Select;
htmlHeader(); htmlHeader();
// This is a custom query class that could have some customized logic // This is a custom query class that could have some customized logic
class MyQuery extends Solarium\Query\Select\Select class MyQuery extends Select
{ {
// ...customization here... // ...customization here...
} }
...@@ -12,7 +15,7 @@ class MyQuery extends Solarium\Query\Select\Select ...@@ -12,7 +15,7 @@ class MyQuery extends Solarium\Query\Select\Select
// And this is the extended client, that modifies the default query mapping // And this is the extended client, that modifies the default query mapping
// for select queries to our custom query class. // for select queries to our custom query class.
// BTW, the same could also be done using a plugin, see example 5.3.2 // BTW, the same could also be done using a plugin, see example 5.3.2
class MyClient extends Solarium\Client\Client class MyClient extends Client
{ {
/** /**
* Querytype mappings * Querytype mappings
...@@ -20,18 +23,8 @@ class MyClient extends Solarium\Client\Client ...@@ -20,18 +23,8 @@ class MyClient extends Solarium\Client\Client
protected $_queryTypes = array( protected $_queryTypes = array(
self::QUERYTYPE_SELECT => array( self::QUERYTYPE_SELECT => array(
'query' => 'MyQuery', 'query' => 'MyQuery',
'requestbuilder' => 'Solarium\Client\RequestBuilder\Select\Select', 'requestbuilder' => 'Solarium\QueryType\Select\RequestBuilder\RequestBuilder',
'responseparser' => 'Solarium\Client\ResponseParser\Select\Select' 'responseparser' => 'Solarium\QueryType\Select\ResponseParser\ResponseParser'
),
self::QUERYTYPE_UPDATE => array(
'query' => 'Solarium\Query\Update',
'requestbuilder' => 'Solarium\Client\RequestBuilder\Update',
'responseparser' => 'Solarium\Client\ResponseParser\Update'
),
self::QUERYTYPE_PING => array(
'query' => 'Solarium\Query\Ping',
'requestbuilder' => 'Solarium\Client\RequestBuilder\Ping',
'responseparser' => 'Solarium\Client\ResponseParser\Ping'
), ),
); );
} }
......
<?php <?php
require('init.php'); require('init.php');
use Solarium\Client\Client;
use Solarium\Plugin\AbstractPlugin;
use Solarium\QueryType\Select\Query\Query as Select;
// This is a custom query class that could have some customized logic // This is a custom query class that could have some customized logic
class MyQuery extends Solarium\Query\Select\Select class MyQuery extends Select
{ {
// ...customization here... // ...customization here...
} }
// this very simple plugin that modifies the default querytype mapping // this very simple plugin that modifies the default querytype mapping
class queryCustomizer extends Solarium\Plugin\AbstractPlugin class queryCustomizer extends AbstractPlugin
{ {
protected function _initPlugin() protected function _initPlugin()
{ {
$this->_client->registerQueryType( $this->_client->registerQueryType(
Solarium\Client\Client::QUERYTYPE_SELECT, Client::QUERYTYPE_SELECT,
'MyQuery', 'MyQuery',
'Solarium\Client\RequestBuilder\Select\Select', 'Solarium\QueryType\Select\RequestBuilder\RequestBuilder',
'Solarium\Client\ResponseParser\Select\Select' 'Solarium\QueryType\Select\ResponseParser\ResponseParser'
); );
} }
...@@ -27,7 +30,7 @@ class queryCustomizer extends Solarium\Plugin\AbstractPlugin ...@@ -27,7 +30,7 @@ class queryCustomizer extends Solarium\Plugin\AbstractPlugin
htmlHeader(); htmlHeader();
// create a client instance and register the plugin // create a client instance and register the plugin
$client = new Solarium\Client\Client($config); $client = new Client($config);
$client->registerPlugin('querycustomizer', 'queryCustomizer'); $client->registerPlugin('querycustomizer', 'queryCustomizer');
// create a select query instance // create a select query instance
......
...@@ -66,7 +66,7 @@ class Document extends Query ...@@ -66,7 +66,7 @@ class Document extends Query
*/ */
protected $_options = array( protected $_options = array(
'handler' => 'analysis/document', 'handler' => 'analysis/document',
'resultclass' => 'Solarium\Result\Analysis\Document', 'resultclass' => 'Solarium\QueryType\Analysis\Result\Document',
); );
/** /**
......
...@@ -58,7 +58,7 @@ class Field extends Query ...@@ -58,7 +58,7 @@ class Field extends Query
*/ */
protected $_options = array( protected $_options = array(
'handler' => 'analysis/field', 'handler' => 'analysis/field',
'resultclass' => 'Solarium\Result\Analysis\Field', 'resultclass' => 'Solarium\QueryType\Analysis\Result\Field',
); );
/** /**
......
...@@ -76,7 +76,7 @@ class Query extends SelectQuery ...@@ -76,7 +76,7 @@ class Query extends SelectQuery
*/ */
protected $_options = array( protected $_options = array(
'handler' => 'mlt', 'handler' => 'mlt',
'resultclass' => 'Solarium\Quertype\MoreLikeThis\Result', 'resultclass' => 'Solarium\QueryType\MoreLikeThis\Result',
'documentclass' => 'Solarium\Document\ReadOnly', 'documentclass' => 'Solarium\Document\ReadOnly',
'query' => '*:*', 'query' => '*:*',
'start' => 0, 'start' => 0,
......
...@@ -72,7 +72,7 @@ class Query extends BaseQuery ...@@ -72,7 +72,7 @@ class Query extends BaseQuery
* @var array * @var array
*/ */
protected $_options = array( protected $_options = array(
'resultclass' => 'Solarium\Result\Ping', 'resultclass' => 'Solarium\QueryType\Ping\Result',
'handler' => 'admin/ping', 'handler' => 'admin/ping',
); );
......
...@@ -71,7 +71,7 @@ class Query extends BaseQuery ...@@ -71,7 +71,7 @@ class Query extends BaseQuery
*/ */
protected $_options = array( protected $_options = array(
'handler' => 'suggest', 'handler' => 'suggest',
'resultclass' => 'Solarium\QueryType\Suggester\Result\Suggester', 'resultclass' => 'Solarium\QueryType\Suggester\Result\Result',
'termclass' => 'Solarium\QueryType\Suggester\Result\Term', 'termclass' => 'Solarium\QueryType\Suggester\Result\Term',
); );
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment