Elasticsearch. Adding data
Adding data to Elasticsearch by creating employee.
Examples:
Command:
PUT /megacorp/employee/1 { "first_name" : "John", "last_name" : "Smith", "age" : 25, "about" : "I love to go rock climbing", "interests": [ "sports", "music" ] }
CURL:
$curl -XPUT 'http://localhost:9200/megacorp/employee/133434 ' -d ' { "name":"John", "last_name" :"Smith", "age" :25, "about" :"I love to go rock climbing", "interests": [ "sports", "music" ] }'
PHP:
To add data, you need to fill an array of three keys
index - analogue of the database name in MySQL.
type - analogue table in MySQL.
body - document. An analog recording line in MySQL table.
require 'vendor/autoload.php'; $client = Elasticsearch\ClientBuilder::create()->build(); $params = [ "index" => "megacorp", "type" => "employee", "body" => [ "first_name" => "John", "last_name" => "Smith", "age" => "25", "about" => 'I love to go rock climbing', "interests" => [ "sports", "music"] ] ]; $response = $client->index($params); print_r($response); // Print the result
Yii2:
In Yii2 work with elasticsearch made using Class yii\elasticsearch\ActiveRecord
Create a model. And we declare the class with the minimum parameters.
use yii\elasticsearch\ActiveRecord; class Megacorp extends ActiveRecord { public static function index() { return 'megacorp'; } public static function type() { return 'employee'; } /** Attributes. It is important to point out. Otherwise, the data is not stored. */ public function attributes() { return [ "first_name", "last_name", "age" , "about" , "interests" ]; } /** Rules. It is important to point out. Otherwise, the data is not stored. I set all the attributes of the rules as safe. You can specify any other that you need. */ public function rules() { return [ [$this->attributes(), 'safe'] ]; } }
Save data (indexing in terminology of elasticsearch)
$model = new Megacorp(); $model->attributes = [ "first_name" => "John", "last_name" => "Smith", "age" => "25", "about" => 'I love to go rock climbing', "interests" => [ "sports", "music"] ]; $model->save();
Additionally
- Elasticsearch. What is Elasticsearch and how to install it
- Example of adding data in Elasticsearch using CURL, PHP, Yii2
- Example getting of data in Elasticsearch using CURL, PHP, Yii2
- Example search in Elasticsearch using CURL, PHP, Yii2
- An example of index management in Elasticsearch using CURL, PHP, Yii2
- Parameters of fields
Previous part: Elasticsearch. What is Elasticsearch and how to install it
Next part: Example getting of data in Elasticsearch using CURL, PHP, Yii2