Class yii\elasticsearch\Command

Inheritanceyii\elasticsearch\Command » yii\base\Component
Available since version2.0

The Command class implements the API for accessing the elasticsearch REST API.

Check the elasticsearch guide for details on these commands.

Public Properties

Hide inherited properties

PropertyTypeDescriptionDefined By
$db yii\elasticsearch\Connection yii\elasticsearch\Command
$index string|array The indexes to execute the query on. yii\elasticsearch\Command
$options array Options to be appended to the query URL, such as "search_type" for search or "timeout" for delete yii\elasticsearch\Command
$queryParts array List of arrays or json strings that become parts of a query yii\elasticsearch\Command
$type string|array The types to execute the query on. yii\elasticsearch\Command

Public Methods

Hide inherited methods

MethodDescriptionDefined By
clearIndexCache() yii\elasticsearch\Command
clearScroll() yii\elasticsearch\Command
closeIndex() yii\elasticsearch\Command
createIndex() Creates an index yii\elasticsearch\Command
createTemplate() yii\elasticsearch\Command
delete() Deletes a document from the index yii\elasticsearch\Command
deleteAllIndexes() Deletes all indexes yii\elasticsearch\Command
deleteByQuery() Sends a request to the delete by query yii\elasticsearch\Command
deleteIndex() Deletes an index yii\elasticsearch\Command
deleteTemplate() yii\elasticsearch\Command
exists() Gets a document from the index yii\elasticsearch\Command
flushIndex() yii\elasticsearch\Command
get() Gets a document from the index yii\elasticsearch\Command
getIndexRecoveryStats() yii\elasticsearch\Command
getIndexStats() yii\elasticsearch\Command
getMapping() yii\elasticsearch\Command
getSource() Gets a documents _source from the index (>=v0.90.1) yii\elasticsearch\Command
getTemplate() yii\elasticsearch\Command
indexExists() Checks whether an index exists yii\elasticsearch\Command
insert() Inserts a document into an index yii\elasticsearch\Command
mget() Gets multiple documents from the index yii\elasticsearch\Command
openIndex() yii\elasticsearch\Command
refreshIndex() yii\elasticsearch\Command
scroll() yii\elasticsearch\Command
search() Sends a request to the _search API and returns the result yii\elasticsearch\Command
setMapping() yii\elasticsearch\Command
suggest() Sends a request to the _suggest API and returns the result yii\elasticsearch\Command
typeExists() yii\elasticsearch\Command
update() Updates a document yii\elasticsearch\Command
updateAnalyzers() Define new analyzers for the index. yii\elasticsearch\Command
updateSettings() Change specific index level settings in real time. yii\elasticsearch\Command

Property Details

$db public property
$index public property

The indexes to execute the query on. Defaults to null meaning all indexes

See also http://www.elastic.co/guide/en/elasticsearch/reference/current/search-search.html#search-multi-index-type.

public string|array $index null
$options public property

Options to be appended to the query URL, such as "search_type" for search or "timeout" for delete

public array $options = []
$queryParts public property

List of arrays or json strings that become parts of a query

public array $queryParts null
$type public property

The types to execute the query on. Defaults to null meaning all types

public string|array $type null

Method Details

clearIndexCache() public method
public mixed clearIndexCache ( $index )
$index
clearScroll() public method (available since version 2.0.4)
public mixed clearScroll ( $options = [] )
$options array
closeIndex() public method
public mixed closeIndex ( $index )
$index
createIndex() public method
public mixed createIndex ( $index, $configuration null )
$index
$configuration array
createTemplate() public method
public mixed createTemplate ( $name, $pattern, $settings, $mappings, $order 0 )
$name
$pattern
$settings
$mappings
$order integer
delete() public method
public mixed delete ( $index, $type, $id, $options = [] )
$index
$type
$id
$options array
deleteAllIndexes() public method
public mixed deleteAllIndexes ( )
deleteByQuery() public method

Sends a request to the delete by query

public mixed deleteByQuery ( $options = [] )
$options array
deleteIndex() public method
public mixed deleteIndex ( $index )
$index
deleteTemplate() public method
public mixed deleteTemplate ( $name )
$name
exists() public method
public mixed exists ( $index, $type, $id )
$index
$type
$id
flushIndex() public method
public mixed flushIndex ( $index '_all' )
$index
get() public method
public mixed get ( $index, $type, $id, $options = [] )
$index
$type
$id
$options array
getIndexRecoveryStats() public method
public mixed getIndexRecoveryStats ( $index '_all' )
$index
getIndexStats() public method
public mixed getIndexStats ( $index '_all' )
$index
getMapping() public method
public mixed getMapping ( $index '_all', $type null )
$index string
$type string
getSource() public method

Gets a documents _source from the index (>=v0.90.1)

See also http://www.elastic.co/guide/en/elasticsearch/reference/current/docs-get.html#_source.

public mixed getSource ( $index, $type, $id )
$index
$type
$id
getTemplate() public method
public mixed getTemplate ( $name )
$name
indexExists() public method
public mixed indexExists ( $index )
$index
insert() public method
public mixed insert ( $index, $type, $data, $id null, $options = [] )
$index string
$type string
$data string|array

Json string or array of data to store

$id null

The documents id. If not specified Id will be automatically chosen

$options array
mget() public method

Gets multiple documents from the index

TODO allow specifying type and index + fields

See also http://www.elastic.co/guide/en/elasticsearch/reference/current/docs-multi-get.html.

public mixed mget ( $index, $type, $ids, $options = [] )
$index
$type
$ids
$options array
openIndex() public method
public mixed openIndex ( $index )
$index
refreshIndex() public method
public mixed refreshIndex ( $index )
$index
scroll() public method (available since version 2.0.4)
public mixed scroll ( $options = [] )
$options array
search() public method

Sends a request to the _search API and returns the result

public mixed search ( $options = [] )
$options array
setMapping() public method
public mixed setMapping ( $index, $type, $mapping, $options = [] )
$index string
$type string
$mapping string|array
$options array
suggest() public method

Sends a request to the _suggest API and returns the result

See also http://www.elastic.co/guide/en/elasticsearch/reference/current/search-suggesters.html.

public mixed suggest ( $suggester, $options = [] )
$suggester string|array

The suggester body

$options array
typeExists() public method
public mixed typeExists ( $index, $type )
$index
$type
update() public method
public mixed update ( $index, $type, $id, $data, $options = [] )
$index
$type
$id
$data
$options array
updateAnalyzers() public method (available since version 2.0.4)

Define new analyzers for the index.

For example if content analyzer hasn’t been defined on "myindex" yet you can use the following commands to add it:

 $setting = [
     'analysis' => [
         'analyzer' => [
             'ngram_analyzer_with_filter' => [
                 'tokenizer' => 'ngram_tokenizer',
                 'filter' => 'lowercase, snowball'
             ],
         ],
         'tokenizer' => [
             'ngram_tokenizer' => [
                 'type' => 'nGram',
                 'min_gram' => 3,
                 'max_gram' => 10,
                 'token_chars' => ['letter', 'digit', 'whitespace', 'punctuation', 'symbol']
             ],
         ],
     ]
];
$elasticQuery->createCommand()->updateAnalyzers('myindex', $setting);

See also https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-update-settings.html#update-settings-analysis.

public mixed updateAnalyzers ( $index, $setting, $options = [] )
$index string
$setting string|array
$options array

URL options

updateSettings() public method (available since version 2.0.4)

Change specific index level settings in real time.

Note that update analyzers required to \yii\elasticsearch\close() the index first and \yii\elasticsearch\open() it after the changes are made, use updateAnalyzers() for it.

See also http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/indices-update-settings.html.

public mixed updateSettings ( $index, $setting, $options = [] )
$index string
$setting string|array
$options array

URL options