ElasticSearch.php 716 B

123456789101112131415161718192021222324252627282930313233343536
  1. <?php
  2. namespace app\lib;
  3. use Elastic\Elasticsearch\Client;
  4. use Elastic\Elasticsearch\ClientBuilder;
  5. class ElasticSearch
  6. {
  7. private static $_conf = [];
  8. /**
  9. * @var Client
  10. */
  11. private static $_instance = null;
  12. private function __construct()
  13. {
  14. }
  15. /**
  16. * @return Client
  17. */
  18. public static function getInstance(): ?Client
  19. {
  20. if (null === self::$_instance)
  21. {
  22. self::$_conf = \Yii::app()->params['elasticsearch']['address']; // ES配置
  23. self::$_instance = ClientBuilder::create()
  24. ->setRetries(2)
  25. ->setHosts(self::$_conf)
  26. ->build();
  27. }
  28. return self::$_instance;
  29. }
  30. }