Mirocow/yii2-elasticsearch Yii2 elasticsearch client

Elasticsearch client based on official Elasticsearch PHP library

  1. Honey modules
  2. Install
  3. Configure
  4. Create index
  5. Debug
  6. Query
  7. License

www.elasticsearch.com

Latest Stable Version Latest Unstable Version Total Downloads License Join the chat at https://gitter.im/Mirocow/yii2-elasticsearch FOSSA Status Maintainability

Docs are available in english and russian. Based on https://github.com/elastic/elasticsearch

Honey modules

Install

Elasticsearch 5.6.x
$ wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
$ sudo apt-get install apt-transport-https
$ echo "deb https://artifacts.elastic.co/packages/5.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-5.x.list
$ sudo apt-get update && sudo apt-get install elasticsearch
$ composer require --prefer-dist mirocow/yii2-elasticsearch

Configure

  • Create a class that implements the common\modules\elasticsearch\contracts\Index interface.
  • Add it to the module configuration in common/config/main.php
  • Start indexing
return [
    'modules' => [

        // elasticsearch
        common\modules\elasticsearch\Module::MODULE_NAME => [
          'class' => common\modules\elasticsearch\Module::class,
          'indexes' => [
            common\repositories\indexes\ProductsSearchIndex::class
          ]
        ],

    ],
    'bootstrap' => [
        mirocow\elasticsearch\Bootstrap::class,
    ]
];

Create index

Create empty index `bash $ php yii elasticsearch/index/create index_name `

Fill index with all documents `bash $ php yii elasticsearch/index/populate index_name `

Destroy an index and all its data `bash $ php yii elasticsearch/index/destroy index_name `

Remove all existing indexes, re-create all indexes and re-index all documents for all indexes `bash $ php yii elasticsearch/index/rebuild `

Debug

$ export PHP_IDE_CONFIG="serverName=www.site.loc" && export XDEBUG_CONFIG="remote_host=192.168.1.6 idekey=xdebug" && php7.0 ./yii elasticsearch/index/create products_search

Query

<?php
        /** @var QueryBuilder $query */
        $query = new QueryBuilder;
        $query = $query
            ->add(QueryHelper::bool($filter, $must, $should, $must_not))
            ->aggregations($aggregations)
            ->withSource('attributes');

License

FOSSA Status

I use JetBrains products to develop yii2-elasticsearch !

www.jetbrains.com

1 0
0 follower
20 downloads
Yii Version: 2.0
License: BSD-3-Clause
Category: Others
Developed by: Mirocow
Created on: Sep 13, 2018
Last updated: a month ago
Packagist Profile
Github Repository

Related Extensions