a Yii application component, Dataprovider and autoloader,

to use Elastica PHP library inside Yii framework. the aim of this componenets is to create a dataprovider that can be used with all other Yii extesions or widgets (ex: CGridView). Download.


...requirements of using this extension (e.g. Yii 1.1 or above)...

##Main configrations
'preload' => array('importelastica'),

'components' => array(
    'class' => 'application.extensions.ElasticaLoader',
    'libPath' => 'application.lib', //assume you installed Elastica to /lib/
  'elastica' => array(
    'class' => 'application.components.Elastica',
    'host' => 'localhost',
    'port' => '9200',
    'debug' => true

Usage example

$elastica_query = new Elastica\Query();
$term_filter = new \Elastica\Filter\Term();
$term_filter->setTerm('name', 'Elastica_test');
$dataprovider =  ElasticaDataProvider('indexname', $elastica_query, array(
  'sort' => array(
    'attributes' => array('attribute.desc',),
  'pagination' => array(
    'pageSize' => 30,
), 'type_name_optional');

$data = $dataprovider->getData();


type name will be used ad the model name by default, if type name was not provided, the data provider will try to use the index name as a model name.

Total 2 comments

#15431 report it
ash at 2013/11/08 01:46pm

Sorry looks like i forgot to push it, please check now.


#15407 report it
yiqing95 at 2013/11/07 05:18am
can 't find the class : ElasticaLoader

where is this class ? in your repository there do not exist that class . but searching from google i find one :including-an-external-folder-with-subfolders-and-libraries

do you mean this one ?

Leave a comment

Please to leave your comment.

Create extension
No downloadable files yet