Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Sign in
Toggle navigation
S
solarium
Project overview
Project overview
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Commits
Open sidebar
common
solarium
Commits
0e6d174e
Commit
0e6d174e
authored
Feb 19, 2012
by
Bas de Nooijer
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Lots of fixes in examples
parent
84906155
Changes
12
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
41 additions
and
33 deletions
+41
-33
examples/2.1.1-query-params.php
examples/2.1.1-query-params.php
+3
-1
examples/2.1.7-query-reuse.php
examples/2.1.7-query-reuse.php
+5
-2
examples/2.3.1-mlt-query.php
examples/2.3.1-mlt-query.php
+3
-1
examples/4.1-api-usage.php
examples/4.1-api-usage.php
+3
-1
examples/4.3-extending-usage.php
examples/4.3-extending-usage.php
+6
-3
examples/5.2-extending.php
examples/5.2-extending.php
+7
-14
examples/5.3.2-plugin-solarium-presets.php
examples/5.3.2-plugin-solarium-presets.php
+9
-6
library/Solarium/QueryType/Analysis/Query/Document.php
library/Solarium/QueryType/Analysis/Query/Document.php
+1
-1
library/Solarium/QueryType/Analysis/Query/Field.php
library/Solarium/QueryType/Analysis/Query/Field.php
+1
-1
library/Solarium/QueryType/MoreLikeThis/Query.php
library/Solarium/QueryType/MoreLikeThis/Query.php
+1
-1
library/Solarium/QueryType/Ping/Query.php
library/Solarium/QueryType/Ping/Query.php
+1
-1
library/Solarium/QueryType/Suggester/Query.php
library/Solarium/QueryType/Suggester/Query.php
+1
-1
No files found.
examples/2.1.1-query-params.php
View file @
0e6d174e
<?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'
,
S
olarium\Query\Select\S
elect
::
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
);
...
...
examples/2.1.7-query-reuse.php
View file @
0e6d174e
<?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
S
olarium\Query\Select\S
elect
class
PriceQuery
extends
Select
{
{
protected
function
_init
()
protected
function
_init
()
{
{
...
...
examples/2.3.1-mlt-query.php
View file @
0e6d174e
<?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
();
...
...
examples/4.1-api-usage.php
View file @
0e6d174e
<?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'
,
S
olarium\Query\Select\S
elect
::
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]'
);
...
...
examples/4.3-extending-usage.php
View file @
0e6d174e
<?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
S
olarium\Query\S
elect
{
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
;
...
...
examples/5.2-extending.php
View file @
0e6d174e
<?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
S
olarium\Query\Select\S
elect
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'
),
),
);
);
}
}
...
...
examples/5.3.2-plugin-solarium-presets.php
View file @
0e6d174e
<?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
S
olarium\Query\Select\S
elect
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
...
...
library/Solarium/QueryType/Analysis/Query/Document.php
View file @
0e6d174e
...
@@ -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'
,
);
);
/**
/**
...
...
library/Solarium/QueryType/Analysis/Query/Field.php
View file @
0e6d174e
...
@@ -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'
,
);
);
/**
/**
...
...
library/Solarium/QueryType/MoreLikeThis/Query.php
View file @
0e6d174e
...
@@ -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\Quer
t
ype\MoreLikeThis\Result'
,
'resultclass'
=>
'Solarium\Quer
yT
ype\MoreLikeThis\Result'
,
'documentclass'
=>
'Solarium\Document\ReadOnly'
,
'documentclass'
=>
'Solarium\Document\ReadOnly'
,
'query'
=>
'*:*'
,
'query'
=>
'*:*'
,
'start'
=>
0
,
'start'
=>
0
,
...
...
library/Solarium/QueryType/Ping/Query.php
View file @
0e6d174e
...
@@ -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'
,
);
);
...
...
library/Solarium/QueryType/Suggester/Query.php
View file @
0e6d174e
...
@@ -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'
,
);
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment