当前位置: 首页>>代码示例>>PHP>>正文


PHP Elasticsearch\ClientBuilder类代码示例

本文整理汇总了PHP中Elasticsearch\ClientBuilder的典型用法代码示例。如果您正苦于以下问题:PHP ClientBuilder类的具体用法?PHP ClientBuilder怎么用?PHP ClientBuilder使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


在下文中一共展示了ClientBuilder类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: postSearch

 public function postSearch()
 {
     $enabled = Config::get("search.enabled");
     if (!$enabled) {
         App::abort(404);
         return;
     }
     $term = isset($_POST["term"]) ? $_POST["term"] : "";
     $client = Elasticsearch\ClientBuilder::create()->setHosts(Config::get("search.hosts"))->build();
     $params = ['index' => 'website', 'type' => 'mediaItem', 'body' => ['query' => ['dis_max' => ['tie_breaker' => 0.3, 'queries' => [['dis_max' => ['tie_breaker' => 0.3, 'queries' => [['multi_match' => ['query' => $term, 'type' => 'most_fields', 'fields' => ['name^10', 'name.std'], 'boost' => 13]], ['multi_match' => ['query' => $term, 'type' => 'most_fields', 'fields' => ['description^10', 'description.std'], 'boost' => 11]]]]], ['nested' => ['path' => 'playlists.playlist', 'query' => ['dis_max' => ['tie_breaker' => 0.3, 'queries' => [['multi_match' => ['query' => $term, 'type' => 'most_fields', 'fields' => ['playlists.playlist.name^10', 'playlists.playlist.name.std'], 'boost' => 8]], ['multi_match' => ['query' => $term, 'type' => 'most_fields', 'fields' => ['playlists.playlist.description^10', 'playlists.playlist.description.std'], 'boost' => 6]]]]]]], ['nested' => ['path' => 'playlists.playlist.show', 'query' => ['dis_max' => ['tie_breaker' => 0.3, 'queries' => [['multi_match' => ['query' => $term, 'type' => 'most_fields', 'fields' => ['playlists.playlist.show.name^10', 'playlists.playlist.show.name.std'], 'boost' => 3]], ['multi_match' => ['query' => $term, 'type' => 'most_fields', 'fields' => ['playlists.playlist.show.description^10', 'playlists.playlist.show.description.std'], 'boost' => 1]]]]]]]]]]]];
     $result = $client->search($params);
     if ($result["timed_out"]) {
         App::abort(500);
         // server error
         return;
     }
     $results = array();
     if ($result["hits"]["total"] > 0) {
         foreach ($result["hits"]["hits"] as $hit) {
             $source = $hit["_source"];
             $result = array("title" => $source["name"], "description" => $source["description"], "thumbnailUri" => $source["playlists"][0]["coverArtUri"], "url" => $source["playlists"][0]["url"]);
             $results[] = $result;
         }
     }
     return Response::json(array("results" => $results));
 }
开发者ID:joshhodgson,项目名称:Website,代码行数:26,代码来源:AjaxController.php

示例2: removeFromIndex

 public static function removeFromIndex($b)
 {
     if (defined('ELIB_BLOG_ELASTIC') && ELIB_BLOG_ELASTIC) {
         $params = ['index' => 'elib_blog', 'type' => 'blog', 'id' => $b->id];
         $client = ClientBuilder::create()->build();
         $response = $client->delete($params);
     }
 }
开发者ID:mikejw,项目名称:elib-blog,代码行数:8,代码来源:Service.php

示例3: register

 /**
  * Register any application services.
  *
  * @return void
  */
 public function register()
 {
     $this->app->singleton('elasticsearch', function ($app) {
         $es = new ClientBuilder();
         $client = $es->create()->setHosts(config('elasticsearch.hosts', ['localhost']))->build();
         $this->app->instance('elasticsearch', $client);
         return $client;
     });
 }
开发者ID:orphans,项目名称:elasticsearch,代码行数:14,代码来源:ElasticSearchServiceProvider.php

示例4: setUp

 protected function setUp()
 {
     $config = ['db_name' => 'test', 'hosts' => ['127.0.0.1:9200']];
     $client = ClientBuilder::create()->setHosts($config['hosts'])->build();
     $this->client = new ElasticSearch($config, $client);
     $this->client->drop('test');
 }
开发者ID:soupmix,项目名称:elasticsearch,代码行数:7,代码来源:ElasticsearchTest.php

示例5: __construct

 /**
  * Create a new command instance.
  */
 public function __construct(CLImate $cli, IpUtils $ipUtils)
 {
     parent::__construct();
     $this->cli = $cli;
     $this->ipUtils = $ipUtils;
     $this->esClient = ClientBuilder::create()->setHosts(config('elasticsearch.hosts'))->build();
 }
开发者ID:BGPView,项目名称:Backend-API,代码行数:10,代码来源:UpdateASNWhoisInfo.php

示例6: __construct

 function __construct()
 {
     $this->hosts = array(ES_HOST . ":" . ES_PORT);
     $this->clientBuilder = \Elasticsearch\ClientBuilder::create();
     $this->clientBuilder->setHosts($this->hosts);
     $this->client = $this->clientBuilder->build();
 }
开发者ID:BioGRID,项目名称:IMS,代码行数:7,代码来源:ElasticSearch.php

示例7: testConstructor

 public function testConstructor()
 {
     $elasticsearchClient = \Elasticsearch\ClientBuilder::create()->build();
     $cmClient = new CM_Elasticsearch_Client($elasticsearchClient);
     $this->assertInstanceOf('CM_Elasticsearch_Client', $cmClient);
     $this->assertEquals($elasticsearchClient, CMTest_TH::callProtectedMethod($cmClient, '_getClient'));
 }
开发者ID:cargomedia,项目名称:cm,代码行数:7,代码来源:ClientTest.php

示例8: hotSwapIndices

 private function hotSwapIndices($versionedIndex, $entityIndexName)
 {
     $client = ClientBuilder::create()->setHosts(config('elasticquent.config.hosts'))->build();
     $indexExists = $client->indices()->exists(['index' => $entityIndexName]);
     $previousIndexName = null;
     $indices = $client->indices()->getAliases();
     foreach ($indices as $indexName => $indexData) {
         if (array_key_exists('aliases', $indexData) && isset($indexData['aliases'][$entityIndexName])) {
             $previousIndexName = $indexName;
             break;
         }
     }
     if ($indexExists === true && $previousIndexName === null) {
         $client->indices()->delete(['index' => $entityIndexName]);
         $client->indices()->putAlias(['name' => $entityIndexName, 'index' => $versionedIndex]);
     } else {
         if ($previousIndexName !== null) {
             $client->indices()->deleteAlias(['name' => $entityIndexName, 'index' => $previousIndexName]);
         }
         $client->indices()->putAlias(['name' => $entityIndexName, 'index' => $versionedIndex]);
         if ($previousIndexName !== null) {
             $client->indices()->delete(['index' => $previousIndexName]);
         }
     }
 }
开发者ID:BGPView,项目名称:Backend-API,代码行数:25,代码来源:ReindexES.php

示例9: client

 public function client()
 {
     if (empty($this->clientConnection)) {
         $this->clientConnection = ClientBuilder::create()->setHosts($this->hosts())->build();
     }
     return $this->clientConnection;
 }
开发者ID:johnefemer,项目名称:laravel-elasticsearch,代码行数:7,代码来源:Elasticsearch.php

示例10: buildClient

 /**
  * Build and configure an Elasticsearch client.
  *
  * @param array $config
  * @return \Elasticsearch\Client
  */
 protected function buildClient(array $config)
 {
     $clientBuilder = ClientBuilder::create();
     // Configure hosts
     $clientBuilder->setHosts($config['hosts']);
     // Configure logging
     if (array_get($config, 'logging')) {
         $logObject = array_get($config, 'logObject');
         $logPath = array_get($config, 'logPath');
         $logLevel = array_get($config, 'logLevel');
         if ($logObject && $logObject instanceof LoggerInterface) {
             $clientBuilder->setLogger($logObject);
         } else {
             if ($logPath && $logLevel) {
                 $logObject = ClientBuilder::defaultLogger($logPath, $logLevel);
                 $clientBuilder->setLogger($logObject);
             }
         }
     }
     // Set additional client configuration
     foreach ($this->configMappings as $key => $method) {
         $value = array_get($config, $key);
         if ($value !== null) {
             call_user_func([$clientBuilder, $method], $value);
         }
     }
     // Build and return the client
     return $clientBuilder->build();
 }
开发者ID:cviebrock,项目名称:laravel-elasticsearch,代码行数:35,代码来源:Factory.php

示例11: testCustomQueryParams

 public function testCustomQueryParams()
 {
     $params = array();
     $client = Elasticsearch\ClientBuilder::create()->setHosts([$_SERVER['ES_TEST_HOST']])->build();
     $getParams = array('index' => 'test', 'type' => 'test', 'id' => 1, 'parent' => 'abc', 'custom' => array('customToken' => 'abc', 'otherToken' => 123));
     $exists = $client->exists($getParams);
 }
开发者ID:GerDner,项目名称:luck-docker,代码行数:7,代码来源:ClientTest.php

示例12: __construct

 public function __construct($host)
 {
     $builder = Elasticsearch\ClientBuilder::create();
     $builder->setHosts(array($host));
     $this->client = $builder->build();
     $this->logger = new NullLogger();
 }
开发者ID:keboola,项目名称:elastic-writer,代码行数:7,代码来源:Writer.php

示例13: __construct

 /**
  * Create a new command instance.
  */
 public function __construct(Ubench $bench, IpUtils $ipUtils)
 {
     parent::__construct();
     $this->bench = $bench;
     $this->ipUtils = $ipUtils;
     $this->esClient = ClientBuilder::create()->setHosts(config('elasticsearch.hosts'))->build();
 }
开发者ID:BGPView,项目名称:Backend-API,代码行数:10,代码来源:GenerateGraphs.php

示例14: fire

 /**
  * Execute the console command.
  *
  * @return mixed
  */
 public function fire()
 {
     $this->info('Creating search index.');
     // (re)set all version numbers in the database to make sure everything gets indexed
     $data = ["pending_search_index_version" => 1, "current_search_index_version" => 0];
     DB::table("media_items")->update($data);
     DB::table("playlists")->update($data);
     DB::table("shows")->update($data);
     $esClient = Elasticsearch\ClientBuilder::create()->setHosts(Config::get("search.hosts"))->build();
     $showProperties = ['id' => ['type' => 'integer', 'index' => 'no'], 'name' => ['type' => 'string', 'analyzer' => 'english', 'fields' => ['std' => ['type' => 'string', 'analyzer' => 'standard']]], 'description' => ['type' => 'string', 'analyzer' => 'english', 'fields' => ['std' => ['type' => 'string', 'analyzer' => 'standard']]], 'url' => ['type' => 'string', 'index' => 'no']];
     $playlistProperties = ['id' => ['type' => 'integer', 'index' => 'no'], 'name' => ['type' => 'string', 'analyzer' => 'english', 'fields' => ['std' => ['type' => 'string', 'analyzer' => 'standard']]], 'description' => ['type' => 'string', 'analyzer' => 'english', 'fields' => ['std' => ['type' => 'string', 'analyzer' => 'standard']]], 'scheduledPublishTime' => ['type' => 'date'], 'coverArtUri' => ['type' => 'string', 'index' => 'no'], 'seriesNo' => ['type' => 'integer', 'index' => 'no'], 'url' => ['type' => 'string', 'index' => 'no'], 'show' => ['type' => 'nested', 'properties' => $showProperties]];
     $mediaItemProperties = ['id' => ['type' => 'integer', 'index' => 'no'], 'name' => ['type' => 'string', 'analyzer' => 'english', 'fields' => ['std' => ['type' => 'string', 'analyzer' => 'standard']]], 'description' => ['type' => 'string', 'analyzer' => 'english', 'fields' => ['std' => ['type' => 'string', 'analyzer' => 'standard']]], 'scheduledPublishTime' => ['type' => 'date'], 'playlists' => ['type' => 'nested', 'properties' => ['generatedName' => ['type' => 'string', 'analyzer' => 'english', 'fields' => ['std' => ['type' => 'string', 'analyzer' => 'standard']]], 'coverArtUri' => ['type' => 'string', 'index' => 'no'], 'url' => ['type' => 'string', 'index' => 'no'], 'playlist' => ['type' => 'nested', 'properties' => $playlistProperties]]]];
     // creating 3 indexes "mediaItem", "playlist" and "show".
     // the "mediaItem" index contains copies of data in "playlist" and "show" and
     // the "playlist" index contains copies of data in "show"
     // this duplication is more optimum for searching according to https://www.elastic.co/guide/en/elasticsearch/guide/current/denormalization.html
     // https://www.elastic.co/guide/en/elasticsearch/guide/current/root-object.html
     $params = ['index' => 'website', 'body' => ['mappings' => ['_default_' => ['dynamic' => "strict", 'include_in_all' => false], 'mediaItem' => ['properties' => $mediaItemProperties], 'playlist' => ['properties' => $playlistProperties], 'show' => ['properties' => $showProperties]]]];
     $response = $esClient->indices()->create($params);
     if ($response['acknowledged']) {
         $this->info("Index created!");
     } else {
         $this->error("Something went wrong.");
     }
     $this->info('Done.');
 }
开发者ID:joshhodgson,项目名称:Website,代码行数:31,代码来源:CreateSearchIndexCommand.php

示例15: __construct

 public function __construct()
 {
     global $argv;
     $this->colors = new Colors();
     if (file_exists('resume.lock') && $argv[1] != 'resume') {
         $this->resume();
     }
     if (isset($argv[1]) && $argv[1] == 'resume') {
         echo PHP_EOL . 'Resuming from previous state' . PHP_EOL;
         if (file_exists('resume.lock')) {
             $this->offset = (int) file_get_contents('resume.lock');
         } else {
             echo PHP_EOL . 'resume.lock file does not exist. Exiting...';
             die(PHP_EOL);
         }
     }
     if (strlen(DB_TABLE) == 0) {
         echo PHP_EOL . $this->colors->getColoredString("Database table is not defined. Please check the Config.php file.", 'red') . PHP_EOL;
         die;
     }
     try {
         $this->database = new medoo(['database_type' => 'mysql', 'database_name' => DB_NAME, 'server' => DB_HOST, 'username' => DB_USER, 'password' => DB_PASS, 'charset' => 'utf8', 'port' => DB_PORT]);
     } catch (Exception $e) {
         echo PHP_EOL . $this->colors->getColoredString("Error While Connection to mySQL Database,\nPlease check your Database connection settings in config.php", 'red') . PHP_EOL;
         die;
     }
     if (USE_DB_COLUMN == TRUE) {
         $this->idCol = DB_COL;
     }
     global $ES_HOST;
     $this->logger = \Elasticsearch\ClientBuilder::defaultLogger('mySQLtoes.log');
     $this->elasticSearch = \Elasticsearch\ClientBuilder::create()->setLogger($this->logger)->setHosts($ES_HOST)->build();
 }
开发者ID:hazaveh,项目名称:mySQLtoes,代码行数:33,代码来源:mySQLtoes.php


注:本文中的Elasticsearch\ClientBuilder类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。