Esempio n. 1
0
 public function testMapFields()
 {
     $client = \ElasticSearch\Client::connection(array('index' => 'test-index', 'type' => 'test-type'));
     $client->index(array('tweet' => 'ElasticSearch is awesome'));
     $response = $client->map(array('tweet' => array('type' => 'string')));
     $this->assert->array($response)->isNotEmpty();
 }
Esempio n. 2
0
 public function indexAction()
 {
     //        phpinfo();die();
     //        var_dump((new IndexModel)->deleteUserByUserId()); die();
     //        $client = new Yar_Client("http://192.168.10.122/admin/");
     //        $client->SetOpt(YAR_OPT_PACKAGER, "json");
     //        var_dump($client->deleteUserByUserId());
     /* call remote service */
     //        $result = $client->some_method("parameter");
     //        die();
     //        $data = new ExcelReader(APPLICATION_PATH."/source/example.xls");
     //        $data->dump(true,true);
     //        var_dump($data->sheets[0]['numRows']);
     //        die();
     //        var_dump(base64_decode("FgFikMDYVdFRaK4Wx5cNOEnnRyNWTK+OOA4zQZI4Fd+UWwWCSWlFfHp1ESAiA4jLjukqtp0NDJvkJqlLevRuwA=="));
     //        $cdoco = new Cdoco();
     //        $cdoco->query("set names utf8");
     //        var_dump($cdoco->query("select * from slm_product"));
     //        die();
     //        $data = (new DemoModel())->selectInfo();
     //        echo Payment_AliPay::ERR_ANT_VERIFY_FAILED;
     //        var_dump($data);
     $es = Client::connection(array('servers' => '192.168.10.122:9200'));
     //        $es->map(array(
     //            'title' => array(
     //                'type' => 'my-type',
     //                'index' => 'my-index'
     //            )
     //        ));
     //        $es->setType("t-type")->setIndex("my-index")
     //            ->index(array('title' => 'My cool document','id' => '7'));
     //        $es->index("my-index");
     //        $es->setIndex("my-index")
     //            ->setType("my-type");
     $results = $es->setIndex(["my-index"])->setType(["t-type", "other-type"])->search(['query' => ['term' => ['title' => 'cool']], 'from' => 1, 'size' => 10, 'sort' => ['id' => ['order' => 'asc']], 'fields' => ['title', 'id']]);
     $dsl = new \ElasticSearch\DSL\Builder();
     //        var_dump($es->search('cool'));
     //        var_dump($es->get(1));
     var_dump($results);
     //        var_dump($es->search(array(
     //            'query' => array(
     //                'term' => array('title' => 'cool')
     //            )
     //        )));
     //        var_dump(IndexModel::find(155)->toArray());
     //        (new IndexModel)->deleteUserByUserId();
     //        $this->_view->page = "+++++++++++++";
     /*layout*/
     $this->_layout->meta_title = 'A Blog';
 }
Esempio n. 3
0
 public function init()
 {
     if ($this->es != null) {
         return true;
     }
     if ($this->connectionError) {
         return false;
     }
     try {
         $this->es = Client::connection(['servers' => $this->servers, 'protocol' => $this->protocol, 'index' => $this->index, 'type' => $this->type]);
         return true;
     } catch (Exception $ex) {
         $this->connectionError = true;
         return false;
     }
 }
Esempio n. 4
0
 public function getElastic()
 {
     /** @var Client[] $es */
     static $config, $es = [];
     if ($config === null) {
         $config = $this->getPackageConfig();
         $this->elasticCurrent = $config['elastic.current'];
     }
     $this->elasticCurrent++;
     if (!isset($config['elastic'][$this->elasticCurrent])) {
         $this->elasticCurrent = 0;
     }
     if (!isset($es[$this->elasticCurrent])) {
         $esConfig = $config['elastic'][$this->elasticCurrent];
         $es[$this->elasticCurrent] = Client::connection($esConfig);
     }
     return $es[$this->elasticCurrent];
 }
Esempio n. 5
0
 public function testBulk()
 {
     $esURL = 'http://127.0.0.1:9200/index/type';
     putenv("ELASTICSEARCH_URL={$esURL}");
     $client = \ElasticSearch\Client::connection();
     $bulk = $client->beginBulk();
     $doc = array('title' => 'First in Line');
     $client->index($doc, false, array('refresh' => true));
     $doc2 = array('title' => 'Second in Line');
     $client->setType('type2');
     $client->index($doc2, false);
     $client->setIndex('index2');
     $client->delete(55);
     $operations = $bulk->getOperations();
     $this->assert->integer($bulk->count())->isEqualTo(3)->array($operations[1])->hasSize(2)->array($operations[0])->hasSize(2)->array($operations[0][0])->hasKey('index')->array($operations[0][0]['index'])->hasKey('_refresh')->boolean($operations[0][0]['index']['_refresh'])->isEqualTo(true)->array($operations[1][1])->isEqualTo($doc2)->array($operations[2][0])->hasKey('delete')->array($operations[2][0]['delete'])->hasKey('_id')->integer($operations[2][0]['delete']['_id'])->isEqualTo(55);
     $payload = '{"index":{"_id":false,"_index":"index","_type":"type","_refresh":true}}' . "\n" . '{"title":"First in Line"}' . "\n" . '{"index":{"_id":false,"_index":"index","_type":"type2"}}' . "\n" . '{"title":"Second in Line"}' . "\n" . '{"delete":{"_id":55,"_index":"index2","_type":"type2"}}' . "\n";
     $this->assert->string($bulk->createPayload())->isEqualTo($payload);
     // Run multiple bulks and make sure all documents are stored
     $client->beginBulk();
     $client->index(array('title' => 'Bulk1'), 1);
     $client->index(array('title' => 'Bulk2'), 2);
     $client->commitBulk();
     $client->beginBulk();
     $client->index(array('title' => 'Bulk3'), 3);
     $client->index(array('title' => 'Bulk4'), 4);
     $client->commitBulk();
     sleep(1);
     $resp = $client->search('title:Bulk*');
     $this->assert->array($resp)->hasKey('hits')->array($resp['hits'])->hasKey('total')->integer($resp['hits']['total'])->isEqualTo(4);
     putenv("ELASTICSEARCH_URL");
 }