title: ElasticSearch JS Client Search by
body: <p>I'm getting started with ElasticSearch and I'm getting into troubles (I'm not understanding as It has to be) how to search.</p>
  
  <p>First, I have this two documents:</p>
  
  <pre><code>{
      "took": 133
      "timed_out": false
      "_shards": {
          "total": 5
          "successful": 5
          "failed": 0
      }
      "hits": {
          "total": 2
          "max_score": 1
          "hits": [2]
              0:  {
                  "_index": "app"
                  "_type": "player"
                  "_id": "AVcLCOgAi_gt2Fih02MK"
                  "_score": 1
                  "_source": {
                      "nickName": "sarasa"
                      "birthDate": "1994-11-05T13:15:30.000Z"
                      "state": "sarasa"
                      "adminState": "sarasa"
                      "id": ""
                      "account": {
                          "type": "yojuego"
                          "id": "asasdfa"
                          "password": "asd fasd"
                      }
                  }
              }
              1:  {
                  "_index": "app"
                  "_type": "player"
                  "_id": "AVcQ7JNVi_gt2Fih02MN"
                  "_score": 1
                  "_source": {
                      "nickName": "facundo"
                      "birthDate": "1994-11-05T13:15:30.000Z"
                      "state": "verdura"
                      "adminState": "sudo"
                      "id": ""
                      "account": {
                          "type": "yojuego"
                          "id": "facundo@facundo"
                          "password": "pepe"
                      }
                  }
              }
          }
      }
  }
  </code></pre>
  
  <p>I want to get where account.id = "facundo@facundo" and account.type = "yojuego".
  I'm doing this:</p>
  
  <pre><code>  client.search({
      index: 'app',
      type: 'player',
  
      query: {
        bool: {
          must: [
            { term: { "account.id": 'facundo@facundo' } },
            { term: { "account.type": 'yojuego' } }
          ],
        }
      }
  
    }, (error, response, status) =&gt; {
      if (error) {
        res.json(400, err);
      }
      else {
        res.json(200, response.hits.hits);
      }
    });
  </code></pre>
  
  <p>This search is retrieving all documents I have into the index.
  Any help?</p>
  
  <p>Thanks!</p>
  
  <p>PD: Here is how I created index and mapping:</p>
  
  <pre><code>  client.indices.create({ index: 'yojuego' }, (err, resp, respcode) =&gt; {
      if (!err) {
        client.indices.putMapping({
          index: 'app',
          type: "player",
          body: {
            properties: {
              nickName: { type: "string" },
              birthDate: { type: "string" },
              state: { type: "string" },
              adminState: { type: "string" },
              account: {
                type: "nested",
                properties: {
                  id: { type: "string" },
                  type: { type: "string" },
                  password: { type: "string" }
                }
              }
            }
          }
        }, (err, resp, respcode) =&gt; {
          res.json(200, resp);
        });
      }
    });
  </code></pre>