我有很多以json形式存储在SQS队列中的json数据。我有一个python脚本,基本上从SQS拉取数据,然后将其索引到ES。代码段如下所示:
doc = {
"settings" : {
"number_of_shards" : 1
},
"mappings" : {
"_default_":{
"_timestamp" : {
"enabled" : 'true',
"store" : 'true'
}
}
}
}
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))
所以基本上我的搜索不是很有效而且我读到https://www.elastic.co/guide/en/elasticsearch/guide/current/aggregations-and-analysis.html,我基本上想确保ES不会将我的数据对象分成更小的块。我/我该怎么做才能解决这个问题?
答案 0 :(得分:2)
如果您希望索引中的每个string
字段变为not analyzed
字符串,则需要使用Dynamic templates。
PUT index_name
{
"mappings": {
"type_name": {
"dynamic_templates": [
{
"strings": {
"match_mapping_type": "string",
"mapping": {
"type": "string",
"index": "not_analyzed"
}
}
}
]
}
}
}