Eranga Kapukotuwa
Eranga Kapukotuwa

Reputation: 4962

how to filter data from elasticsearch

I have create several indexes in an elasticsearch. The result of the http://localhost:9200/_cat/indices?v indicate as follows.

health status index                                        pri rep docs.count docs.deleted store.size pri.store.size 
yellow open   idx_post:user:5881bc8eb46a870d958d007a         5   1          6            0     31.3kb         31.3kb 
yellow open   idx_usr                                        5   1          2            0     14.8kb         14.8kb 
yellow open   idx_post:group:587dc2b57a8bee13bdab6592        5   1          1            0      6.1kb          6.1kb

I am new to elasticsearch and I tried to filter data by using the index idx_usr.

http://localhost:9200/idx_usr/_search?pretty=1

it is working fine and it returns the expected values. But when I am trying to grab data by using the index idx_post it returns an Error saying the index is not found.

http://localhost:9200/idx_post/_search?pretty=1

This gives the result:

{
  "error" : "IndexMissingException[[idx_post] missing]",
  "status" : 404
}

If anyone can identify the reason. I would be really thankful.

Update::

This is how do I create the index. Assume that there is an object call data. And I am using an ES client call this.esClient

    var _esData = {
        index: "idx_post:group"+data.group_id;
        type:'posts',
        id:data.post_id.toString() 
    };

    _esData['body'] = data;
    this.esClient.index(_esData, function (error, response) {
        if(error)
            console.log(error);
        callBack(response);
    });

Upvotes: 0

Views: 141

Answers (2)

Val
Val

Reputation: 217544

You can get the results you want by querying your indexes like this with a wildcard

http://localhost:9200/idx_post*/_search?pretty=1
                              ^
                              |
                           add this

Upvotes: 3

Vova Bilyachat
Vova Bilyachat

Reputation: 19514

Because index does not exists

{
  "error" : "IndexMissingException[[idx_post] missing]",
  "status" : 404
}

You try to search in idx_post while _cat returns name idx_post:user:5881bc8eb46a870d958d007a and idx_post:group:587dc2b57a8bee13bdab6592

Upvotes: 1

Related Questions