为什么我的索引字段仍然显示为“已分析”,即使我将其指定为“not_analyzed”

时间:2016-03-18 04:26:06

标签: python json elasticsearch

我在Amazon SQS中有很多数据(json格式)。我基本上有一个简单的python脚本,它从SQS队列中提取数据。然后在ES中对其进行索引。我的问题是即使我在我的脚本中指定索引为“not_analyzed”,我仍然看到我的索引在kibana4仪表板的索引设置中被归档为“已分析”

这是我的python代码:

doc = {
      "settings" : {
      "number_of_shards" : 1
       },
    "mappings" : {
     "type_name": {
       "dynamic_templates": [
         {
           "strings": {
             "match_mapping_type": "string",
           "mapping": {
             "type": "string",
             "index": "not_analyzed"
          }
         }
        }
       ]
      }
     }
   }
es = Elasticsearch()
h = { "Content-type":"application/json" }
res = requests.request("POST","http://localhost:9200/"+index_name+"/",headers=h,data=json.dumps(doc))
post = es.index(index=index_name , doc_type='server' , id =1 , body=json.dumps(new_list))
print "------------------------------"
print "Data Pushed Successfully to ES"

我不确定这里有什么问题?

1 个答案:

答案 0 :(得分:1)

索引(= doc_type)时使用的server与索引映射(= type_name)中的post = es.index(index=index_name , doc_type='type_name' , id =1 , body=json.dumps(new_list)) ^ | change this 不匹配。

因此,如果您将这样的文档编入索引,那么它将起作用

$.when($.ajax(...)).then($.ajax(..)) ...