PHP code example of cakephp / elastic-search

1. Go to this page and download the library: Download cakephp/elastic-search library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

cakephp / elastic-search example snippets


use Cake\ElasticSearch\Plugin as ElasticSearchPlugin;

class Application extends BaseApplication
{
    public function bootstrap()
    {
        $this->addPlugin(ElasticSearchPlugin::class);

        // If you want to disable to automatically configure the Elastic model provider
        // and FormHelper do the following:
        // $this->addPlugin(ElasticSearchPlugin::class, [ 'bootstrap' => false ]);
    }
}

// in config/app.php
'Datasources' => [
    // other datasources
    'elastic' => [
        'className' => 'Cake\ElasticSearch\Datasource\Connection',
        'driver' => 'Cake\ElasticSearch\Datasource\Connection',
        'hosts' => ['127.0.0.1:9200']
    ],
]

// in config/app.php
'Datasources' => [
    // other datasources
    'elastic' => [
        'url' => env('ELASTIC_URL', null)
    ]
]

// and make sure the folowing env variable is available:
// ELASTIC_URL="Cake\ElasticSearch\Datasource\Connection://127.0.0.1:9200?driver=Cake\ElasticSearch\Datasource\Connection"

use Cake\ElasticSearch\Datasource\IndexLocatorAwareTrait;

class MyClass
{
    use IndexLocatorAwareTrait;

    public function someMethod()
    {
        $comments = $this->fetchIndex('Comments');
    }
}

use Cake\ElasticSearch\Datasource\IndexLocator;

$locator = new IndexLocator();
$comments = $locator->get('Comments');

use Cake\ElasticSearch\Index;

class CommentsIndex extends Index
{
    /**
     * The name of index in Elasticsearch
     *
     * @return  string
     */
    public function getName()
    {
        return 'comments';
    }
}