# Loading data from kibana app

**URL:** <https://discuss.elastic.co/t/loading-data-from-kibana-app/139933>\
**Category:** Kibana\
**Created:** [July 13, 2018, 11:30am UTC](https://discuss.elastic.co/t/loading-data-from-kibana-app/139933 "2018-07-13T11:30:15Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![asallemi](https://avatars.discourse-cdn.com/v4/letter/a/c6cbf5/32.png) [@asallemi](https://discuss.elastic.co/u/asallemi)\
**Post date:** [July 13, 2018, 11:30am UTC](https://discuss.elastic.co/t/loading-data-from-kibana-app/139933/1 "2018-07-13T11:30:16Z")

</div>

Hello guys,

I am developing a Kibana application and I need to insert data into Elasticsearch using a Form.  
For example, I would like to add an user.

**index.html:**

```
<div class="container">
  <div class="row">
    <div class="col-12-sm" ng-controller="userController as controller">
      <h1>Sign In</h1><hr/>
      <form>
        <div class="form-group">
          <div class="form-group col-md-6">
            <label for="inputEmail4">Email</label>
            <input type="email" ng-model="email" class="form-control" id="inputEmail4" placeholder="Email" required>
          </div>
          <div class="form-group col-md-6">
            <label for="inputPassword4">Password</label>
            <input type="password" ng-model="password" class="form-control" id="inputPassword4" placeholder="Password" required>
          </div>
        </div>
        <div class="form-group">
          <div class="form-group col-md-6">
            <label for="inputAddress">Address 1</label>
            <input type="text" ng-model="address1" class="form-control" id="inputAddress" placeholder="1234 Main St" required>
          </div>
          <div class="form-group col-md-6">
            <label for="inputAddress2">Address 2</label>
            <input type="text" ng-model="address2" class="form-control" id="inputAddress2" placeholder="Apartment, studio, or floor" required>
          </div>
        </div>
        <div class="form-group">
          <div class="form-group col-md-6">
            <label for="inputCity">City</label>
            <input type="text" ng-model="city" class="form-control" id="inputCity" required>
          </div>
          <div class="form-group col-md-4">
            <label for="inputState">State</label>
            <select ng-model="state" id="inputState" class="form-control" required>
              <option selected>Choose...</option>
              <option> State 1 </option>
              <option> State 2 </option>
              <option> State 3 </option>
              <option> State 4 </option>
            </select>
          </div>
          <div class="form-group col-md-2">
            <label for="inputZip">Zip</label>
            <input type="text" ng-model="zip" class="form-control" id="inputZip" required>
          </div>
        </div>
        <button ng-click="controller.validate()" class="btn btn-primary"> Validate </button>
      </form>
    </div>
  </div>
</div>

```

And in my controller I prepare my object to insert it **userController.js:**

> export function userController($http, $scope, $timeout, chrome, Notifier) {
> 
> // Call validate function  
> this.validate = () =\> {  
> let param = {  
> "email": $scope.email,  
> "password": $scope.password,  
> "address": $scope.address1 + $scope.address2 + $scope.city + $scope.state + $scope.zip  
> };  
> alert("Email:" +$scope.email+" \nPassword: "+$scope.password+" \nAddress: "+ $scope.address1 + $scope.address2 + $scope.city + $scope.state + $scope.zip);  
> // call kibana server API  
> };  
> }

How can I insert my object (param) into specific index in Elasticsearch ?

Best regards.

---

<div class="post-metadata">

**Author:** ![timroes](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/timroes/32/19712_2.png) [@timroes](https://discuss.elastic.co/u/timroes)\
**Post date:** [July 13, 2018, 11:48am UTC](https://discuss.elastic.co/t/loading-data-from-kibana-app/139933/2 "2018-07-13T11:48:59Z")

</div>

Hi,

you can inject the `es` service into your controller. That service is basically an instance of [elasticsearch.js](https://www.elastic.co/guide/en/elasticsearch/client/javascript-api/current/index.html) which you can use to call the `bulk` or `index` API to insert documents into elasticsearch.

Cheers,  
Tim

---

<div class="post-metadata">

**Author:** ![asallemi](https://avatars.discourse-cdn.com/v4/letter/a/c6cbf5/32.png) [@asallemi](https://discuss.elastic.co/u/asallemi)\
**Post date:** [July 13, 2018, 12:26pm UTC](https://discuss.elastic.co/t/loading-data-from-kibana-app/139933/3 "2018-07-13T12:26:50Z")

</div>

Can you show me an example if I would use the **index** to put a document ? Thanks for advance ^^

---

<div class="post-metadata">

**Author:** ![timroes](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/timroes/32/19712_2.png) [@timroes](https://discuss.elastic.co/u/timroes)\
**Post date:** [July 13, 2018, 1:08pm UTC](https://discuss.elastic.co/t/loading-data-from-kibana-app/139933/4 "2018-07-13T13:08:01Z")

</div>

Hi,

you can find an example on the usage in the [documentation](https://www.elastic.co/guide/en/elasticsearch/client/javascript-api/current/api-reference.html#api-index) for the index API.

Cheers,  
Tim

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [August 10, 2018, 1:08pm UTC](https://discuss.elastic.co/t/loading-data-from-kibana-app/139933/5 "2018-08-10T13:08:04Z")

</div>

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
