Quy Tang
Quy Tang

Reputation: 3979

ElasticSearch object filter not working

I try to create mappings and indexes by using Jest. After I inserted some data, I tried to filter the query and It didn't work.

I have an object mapping like this:

http://localhost:9200/contacts?pretty=true
"contacts" : {
  ...
     "mappings" : {
        "contact" : {
            "properties" : {
              ...
              "user" : {
                 "properties" : {
                   "id" : {
                   "type" : "long"
                  },
                  "uuid" : {
                    "type" : "string"
                  }
               }
            }
        }
 }

Data:

{
  "_index" : "contacts",
  "_type" : "contact",
  "_id" : "131530ff-d125-47c1-8fae-f48f2def9037",
  "_version" : 1,
  "found" : true,
  "_source":{"id":"131530ff-d125-47c1-8fae-f48f2def9037","shared":false,"favourite":false,"user":{"id":1,"uuid":"AB353469"}}
}

My query:

http://localhost:9200/contacts/_search
{
  "query":{  
     "filtered":{  
         ...
         "filter":{
            "term" : { 
            "user.uuid" : "AB353469" }
          }
     }
  }
}

Response:

{
  "took": 14,
  "timed_out": false,
  "_shards": {
    "total": 5,
    "successful": 5,
    "failed": 0
  },
  "hits": {
     "total": 0,
     "max_score": null,
     "hits": []
  }
}

Could you please tell me why It didn't work? Thank you very much!

P.S: - Elasticsearch version: 1.7.2

Upvotes: 2

Views: 66

Answers (1)

Andrei Stefan
Andrei Stefan

Reputation: 52366

Change initiatorUuid mapping from

              "initiatorUuid" : {
                "type" : "string"
              }

to

              "initiatorUuid" : {
                "type" : "string",
                "index": "not_analyzed"
              }

re-create the index, re-index the documents and try again.

Upvotes: 2

Related Questions