我有一个包含1mln文档的索引。
"mappings" : {
"direct" : {
"_source" : { "enabled" : true },
"properties" : {
"post" : { "type" : "integer", "index" : "analyzed", "store" : false},
"author" : { "type" : "integer", "index" : "analyzed", "store" : false},
"views_number" : { "type" : "integer", "index" : "not_analyzed" , "store" : false}
}
}
}
每当有人使用views_number
访问该页面时,我想要更改post
。我建议,这种映射并不好,因为我们每次都需要重新索引整个文档。而且速度很慢。这种情况有更好的解决方案吗?
答案 0 :(得分:1)
您可以在Elasticsearch中使用父/子功能,并使post
成为direct
的子项。这样可以更快地更新post
对象,因为您只需更新单个“帖子”文档。看看这篇博文:
http://www.elasticsearch.org/blog/managing-relations-inside-elasticsearch/