gpt4 book ai didi

python - 如何将ES中的每个数据设置为未分析?

转载 作者:行者123 更新时间:2023-12-03 01:02:02 25 4
gpt4 key购买 nike

我在SQS队列中存储了很多json形式的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不会将我的数据对象分成较小的块。我如何/如何解决此问题?

最佳答案

如果您希望索引中的每个string字段都变成not analyzed字符串,则需要使用Dynamic templates

 PUT index_name
{
"mappings": {
"type_name": {
"dynamic_templates": [
{
"strings": {
"match_mapping_type": "string",
"mapping": {
"type": "string",
"index": "not_analyzed"
}
}
}
]
}
}
}

关于python - 如何将ES中的每个数据设置为未分析?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36052841/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com