flandera/elasticsearch

Elastica Nette 扩展

v1.1 2018-01-11 10:45 UTC

This package is not auto-updated.

Last update: 2024-09-28 04:05:27 UTC


README

用于在 Nette 应用中使用 Elastica 客户端的扩展。适用于连接到 Elasticsearch 6.1 的类,专注于自动加载 Elastica 的配置值并实例化客户端。使用 Ruflin/Elastica 以面向对象的方式连接和操作 Elasticsearch(来源:https://github.com/ruflin/Elastica)(文档:http://elastica.io/

  • 简单配置
  • 自动注入配置值,实例化客户端

需求

  • PHP >=5.6
  • Composer >= 1.0
  • Ruflin/Elastica >= 5.3

安装

使用 composer 安装:1. 将此仓库添加到您的 composer.json 文件中 2. 手动运行 composer require flandera/elastica_extension 3. 将其添加到您的 config.neon 配置文件中

配置

    1. Register this extension in config.neon:

    extensions:
    	elasticSearch: Flandera\ElasticaExtension\ElasticaExtension
    	
    services:
        ElasticService:
        		factory: Flandera\ElasticaExtension\ElasticaExtension
        		inject: true	
        		
    2. Set configuration for extension (in your config.local.neon):

    elasticSearch:
    	host: 127.0.0.1
    	port: 9200
    	user: elastic
    	password: changeme
    	path: NULL
    	proxy: NULL
    	transport: 'Http'
    	persistent: on
    	timeout: 300
    	config:
    		curl: [] # curl options
    		headers: [] # additional curl headers
    		url: [] # completely custom URL endpoint
    		user: elastic
    		password: changeme
    	roundRobin: off
    	retryOnConflict: 0

主要配置

  • host - Elasticsearch 服务器 IP 或 URL
  • user - 用于 Xpack
  • password - 用于 Xpack

使用方法

在类的构造函数中实例化

public function __construct(Client $client) {
		$this->client = $client;
	}

使用 Elastica 方法

$this->client->getIndex('MyIndex');