Symbiote\ElasticSearch\ElasticaQueryBuilder
- Author: marcus
Synopsis
class ElasticaQueryBuilder
{
- // members
- public string $title = 'Default Elastica';
- public integer $version = 2;
- protected string $userQuery = '';
- protected integer $fuzziness = 0;
- protected array $fields = ;
- protected array $and = ;
- protected array $params = ;
- protected array $filters = ;
- protected array $postFilters = ;
- protected boolean $allowEmpty = false;
- protected boolean $enableQueryWildcard = true;
- protected integer $contentBoost = 3;
- protected array $boost = ;
- protected array $boostFieldValues = ;
- protected $sort;
- protected array $facets = ;
- protected array $facetFieldLimits = ;
- protected integer $facetLimit = 50;
- protected array $expandFacetResults = ;
- protected integer $facetCount = 1;
- // methods
- public void baseQuery()
- public void queryFields()
- public array currentFields()
- public void setFuzziness()
- public void setContentBoost()
- public void setAllowEmpty()
- public void sortBy()
- public void andWith()
- public void setParams()
- public void addFacetFields()
- public void addFacetQueries()
- public void addFacetFieldLimit()
- public void setExpandFacetResults()
- public void getParams()
- public string getUserQuery()
- public void parse()
- public void wildcard()
- public void boost()
- public void boostFieldValues()
- public void toQuery()
- public void addFilter()
- public void addPostFilter()
- public void removeFilter()
- public void restrictNearPoint()
Members
protected
- $allowEmpty
—
boolean
Should 'emtpy' user queries still generate a result set? - $and
- $boost
—
array
an array of field => amount to boost - $boostFieldValues
—
array
Field:value => boost amount -
$contentBoost
How much to boost exact keyword matches on fields -
$enableQueryWildcard
Allow "alpha only sort" fields to be wrapped in wildcard characters when queried against. -
$expandFacetResults
Whether to expand facet results to documents An array of field name => number of expanded results to generate - $facetCount
—
int
Number of items with faces to be included - $facetFieldLimits
—
array
Per-field facet limits - $facetLimit
—
int
Number of facets to return - $facets — array
- $fields
- $filters
- $fuzziness
- $params
- $postFilters
- $sort
- $userQuery
public
- $title
- $version
Methods
public
- addFacetFieldLimit()
- addFacetFields()
- addFacetQueries()
- addFilter() — Add a filter query clause.
- addPostFilter() — Add a post-query filter
- andWith()
- baseQuery()
- boost()
- boostFieldValues()
- currentFields() — Retrieve the current set of fields being queried
- getParams()
- getUserQuery() — Return the base search term
- parse()
- queryFields()
- removeFilter() — Remove a filter in place on this query
- restrictNearPoint() — Apply a geo field restriction around a particular point
- setAllowEmpty()
- setContentBoost()
- setExpandFacetResults()
- setFuzziness()
- setParams()
- sortBy()
- toQuery()
- wildcard() — Wrap wildcard characters around individual terms of an input string, useful when dealing with "alpha only sort" fields.