我是Elastic-Search的总NooB,我在互联网上研究了如何通过弹性搜索存储高度相关的表,但这很令人困惑,这是我的问题,
我有大约16个表(一个事实表,另一个是维度表),我可以执行SQL请求,将所有表连接到包含所有字段的长行数组中,并以Json方式映射它,但会有大量重复的字段,
例如,维度表A“包含3个人:p1,p2,p3”和事实表包含1000多个行(例如),并且所有这些行都具有对这3个人的外键/引用,
那么理想的存储方式是什么?
将每个表放在不同的索引或类别中,还是将所有内容嵌入到每行一个对象中?
预先感谢
答案 0 :(得分:0)
facts
可以在其dimension
字段被非规范化的情况下形成索引。并为dimensions
创建一个单独的索引。
PUT /dimension_1/1
{
"name": "John Smith"
}
PUT /dimension_2/1
{
"name": "John Doe"
}
...
PUT /facts/1
{
"title": "facts",
"name": "p1",
"dimension_1": {
"id": 1,
"name": "John Smith"
},
"dimension_2": {
"id": 1,
"name": "John Doe"
}
...
}
引用 https://www.elastic.co/guide/en/elasticsearch/guide/master/denormalization.html