2014-06-16 4 views
0

Je suis en train d'ajouter un champ à suggérer des documents dans mon index ES en utilisant la mise à jour en vrac mais je continue à obtenir un NullPointerException comme réponse. Voici un exemple de ce que je suis en train de faire:NullPointerException en vrac ElasticSearch mise à jour

en utilisant la commande ES 1.1.1

utilisant boucle:

curl -s -XPOST "http://www.example.com/test_index/entity/_bulk" --data-binary @tmp 

dans le fichier tmp:

{"update": {"_type": "entity", "_id": "fbf804af945d13d9b7c076948bc1bd19", "_index": "test_index"}} 
{"lang": "js", "params": {"input_name": {"input": ["calcium"]}}, "routing": "434750445cdc9cea954399185e4b3da8", "script": "ctx._source.suggest = input_name"} 

Je reçois ce réponse retour:

{"error":"NullPointerException[null]","status":500} 

Mais il fonctionne très bien si je fais une mise à jour normale:

curl -s -XPOST "http://www.example.com/test_index/entity/fbf804af945d13d9b7c076948bc1bd19/_update?routing=434750445cdc9cea954399185e4b3da8" --data-binary @tmp 

{ 
    "script": "ctx._source.suggest = input_name", 
    "params": { 
     "input_name": { 
      "input": [ 
      "calcium" 
      ] 
     } 
    } 
} 

Voici ce que la mise en correspondance pour l'entité ressemble à:

entity: { 
    _parent: { 
     type: post 
    } 
    _routing: { 
     required: true 
    } 
    properties: { 
     suggest: { 
      type: completion 
      analyzer: simple 
      payloads: false 
      preserve_separators: true 
      preserve_position_increments: true 
      max_input_length: 50 
     } 
     type: { 
      type: string 
      index: not_analyzed 
      store: true 
     } 
     value: { 
      type: string 
      index: not_analyzed 
      store: true 
     } 
    } 
} 

Répondre

0

Dans vos correspondances d'index, vous définissez le routage à requis ainsi dans la partie cmd de votre mise à jour, vous devez spécifier le paramètre de routage:

{"update": {"_type": "entity", "_id": "fbf804af945d13d9b7c076948bc1bd19", "_index": "test_index", **** --> "routing: "fbf804af945d13d9b7c076948bc1bd19" }}

Questions connexes