Commit d020e838 authored by Bas de Nooijer's avatar Bas de Nooijer

Updated examples to use 2.2.0 features and fixed some small bugs

parent 1b7f2489
...@@ -10,12 +10,7 @@ $client = new Solarium_Client($config); ...@@ -10,12 +10,7 @@ $client = new Solarium_Client($config);
$query = $client->createSelect(); $query = $client->createSelect();
// create a filterquery // create a filterquery
$fq = $query->createFilterQuery(); $query->createFilterQuery('maxprice')->setQuery('price:[1 TO 300]');
$fq->setKey('maxprice');
$fq->setQuery('price:[1 TO 300]');
// add it to the query
$query->addFilterQuery($fq);
// this executes the query and returns the result // this executes the query and returns the result
$resultset = $client->select($query); $resultset = $client->select($query);
......
...@@ -13,12 +13,7 @@ $query = $client->createSelect(); ...@@ -13,12 +13,7 @@ $query = $client->createSelect();
$facetSet = $query->getFacetSet(); $facetSet = $query->getFacetSet();
// create a facet field instance and set options // create a facet field instance and set options
$facet = $facetSet->createFacetField(); $facetSet->createFacetField('stock')->setField('inStock');
$facet->setKey('stock');
$facet->setField('inStock');
// add the facet instance to the facetset
$facetSet->addFacet($facet);
// this executes the query and returns the result // this executes the query and returns the result
$resultset = $client->select($query); $resultset = $client->select($query);
......
...@@ -13,12 +13,7 @@ $query = $client->createSelect(); ...@@ -13,12 +13,7 @@ $query = $client->createSelect();
$facetSet = $query->getFacetSet(); $facetSet = $query->getFacetSet();
// create a facet query instance and set options // create a facet query instance and set options
$facet = $facetSet->createFacetQuery(); $facetSet->createFacetQuery('stock')->setQuery('inStock: true');
$facet->setKey('stock');
$facet->setQuery('inStock: true');
// add the facet instance to the facetset
$facetSet->addFacet($facet);
// this executes the query and returns the result // this executes the query and returns the result
$resultset = $client->select($query); $resultset = $client->select($query);
......
...@@ -13,16 +13,12 @@ $query = $client->createSelect(); ...@@ -13,16 +13,12 @@ $query = $client->createSelect();
$facetSet = $query->getFacetSet(); $facetSet = $query->getFacetSet();
// create a facet query instance and set options // create a facet query instance and set options
$facet = $facetSet->createFacetMultiQuery(); $facet = $facetSet->createFacetMultiQuery('stock');
$facet->setKey('stock');
$facet->createQuery('stock_pricecat1', 'inStock:true AND price:[1 TO 300]'); $facet->createQuery('stock_pricecat1', 'inStock:true AND price:[1 TO 300]');
$facet->createQuery('nostock_pricecat1', 'inStock:false AND price:[1 TO 300]'); $facet->createQuery('nostock_pricecat1', 'inStock:false AND price:[1 TO 300]');
$facet->createQuery('stock_pricecat2', 'inStock:true AND price:[300 TO *]'); $facet->createQuery('stock_pricecat2', 'inStock:true AND price:[300 TO *]');
$facet->createQuery('nostock_pricecat2', 'inStock:false AND price:[300 TO *]'); $facet->createQuery('nostock_pricecat2', 'inStock:false AND price:[300 TO *]');
// add the facet instance to the facetset
$facetSet->addFacet($facet);
// this executes the query and returns the result // this executes the query and returns the result
$resultset = $client->select($query); $resultset = $client->select($query);
......
...@@ -13,16 +13,12 @@ $query = $client->createSelect(); ...@@ -13,16 +13,12 @@ $query = $client->createSelect();
$facetSet = $query->getFacetSet(); $facetSet = $query->getFacetSet();
// create a facet field instance and set options // create a facet field instance and set options
$facet = $facetSet->createFacetRange(); $facet = $facetSet->createFacetRange('priceranges');
$facet->setKey('priceranges');
$facet->setField('price'); $facet->setField('price');
$facet->setStart(1); $facet->setStart(1);
$facet->setGap(100); $facet->setGap(100);
$facet->setEnd(1000); $facet->setEnd(1000);
// add the facet instance to the facetset
$facetSet->addFacet($facet);
// this executes the query and returns the result // this executes the query and returns the result
$resultset = $client->select($query); $resultset = $client->select($query);
......
...@@ -10,8 +10,7 @@ $client = new Solarium_Client($config); ...@@ -10,8 +10,7 @@ $client = new Solarium_Client($config);
$query = $client->createSelect(); $query = $client->createSelect();
$query->setRows(0); $query->setRows(0);
// add distributed search settings // add spellcheck settings
// see http://wiki.apache.org/solr/DistributedSearch#Distributed_Search_Example for setting up two solr instances
$spellcheck = $query->getSpellcheck(); $spellcheck = $query->getSpellcheck();
$spellcheck->setQuery('delll ultrashar'); $spellcheck->setQuery('delll ultrashar');
$spellcheck->setBuild(true); $spellcheck->setBuild(true);
......
...@@ -11,16 +11,10 @@ $query = $client->createSelect(); ...@@ -11,16 +11,10 @@ $query = $client->createSelect();
$helper = $query->getHelper(); $helper = $query->getHelper();
// add a filterquery on a price range, using the helper to generate the range // add a filterquery on a price range, using the helper to generate the range
$fqPrice = $query->createFilterQuery(); $query->createFilterQuery('price')->setQuery($helper->rangeQuery('price', 10, 300));
$fqPrice->setKey('price');
$fqPrice->setQuery($helper->rangeQuery('price', 10, 300));
$query->addFilterQuery($fqPrice);
// add a filterquery to find products in a range of 5km, using the helper to generate the 'geofilt' filter // add a filterquery to find products in a range of 5km, using the helper to generate the 'geofilt' filter
$fqRegion = $query->createFilterQuery(); $query->createFilterQuery('region')->setQuery($helper->geofilt(45.15, -93.85, 'store', 5));
$fqRegion->setKey('region');
$fqRegion->setQuery($helper->geofilt(45.15, -93.85, 'store', 5));
$query->addFilterQuery($fqRegion);
// this executes the query and returns the result // this executes the query and returns the result
$resultset = $client->select($query); $resultset = $client->select($query);
...@@ -38,7 +32,7 @@ foreach ($resultset as $document) { ...@@ -38,7 +32,7 @@ foreach ($resultset as $document) {
{ {
// this converts multivalue fields to a comma-separated string // this converts multivalue fields to a comma-separated string
if(is_array($value)) $value = implode(', ', $value); if(is_array($value)) $value = implode(', ', $value);
echo '<tr><th>' . $field . '</th><td>' . $value . '</td></tr>'; echo '<tr><th>' . $field . '</th><td>' . $value . '</td></tr>';
} }
......
...@@ -16,18 +16,11 @@ $query->setFields(array('id','name','price')); ...@@ -16,18 +16,11 @@ $query->setFields(array('id','name','price'));
$query->addSort('price', Solarium_Query_Select::SORT_ASC); $query->addSort('price', Solarium_Query_Select::SORT_ASC);
// create a filterquery using the API // create a filterquery using the API
$fq = $query->createFilterQuery(); $fq = $query->createFilterQuery('maxprice')->setQuery('price:[1 TO 300]');
$fq->setKey('maxprice');
$fq->setQuery('price:[1 TO 300]');
// and add it to the query
$query->addFilterQuery($fq);
// create a facet field instance and set options using the API // create a facet field instance and set options using the API
$facetSet = $query->getFacetSet(); $facetSet = $query->getFacetSet();
$facet = $facetSet->createFacetField(); $facet = $facetSet->createFacetField('stock')->setField('inStock');
$facet->setKey('stock');
$facet->setField('inStock');
$facetSet->addFacet($facet);
// this executes the query and returns the result // this executes the query and returns the result
$resultset = $client->select($query); $resultset = $client->select($query);
......
...@@ -19,10 +19,7 @@ class ProductQuery extends Solarium_Query_Select{ ...@@ -19,10 +19,7 @@ class ProductQuery extends Solarium_Query_Select{
// create a facet field instance and set options // create a facet field instance and set options
$facetSet = $this->getFacetSet(); $facetSet = $this->getFacetSet();
$facet = $facetSet->createFacetField(); $facetSet->createFacetField('stock')->setField('inStock');
$facet->setKey('stock');
$facet->setField('inStock');
$facetSet->addFacet($facet);
} }
} }
...@@ -36,12 +33,7 @@ class ProductPriceLimitedQuery extends ProductQuery{ ...@@ -36,12 +33,7 @@ class ProductPriceLimitedQuery extends ProductQuery{
parent::_init(); parent::_init();
// create a filterquery // create a filterquery
$fq = $this->createFilterQuery(); $this->createFilterQuery('maxprice')->setQuery('price:[1 TO 300]');
$fq->setKey('maxprice');
$fq->setQuery('price:[1 TO 300]');
// and add it
$this->addFilterQuery($fq);
} }
} }
......
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