ES資料建模最佳實踐

2021-10-21 14:00:15 字數 1140 閱讀 5335

優先考慮普通物件,其次考慮nested巢狀物件,再考慮關聯物件。

避免過多的字段,欄位過多不易維護,且影響集群效能。可以用nested巢狀物件結合key/val方式把橫向儲存的資料轉為縱向儲存。

避免字首正則匹配,嚴重影響效能。可以把text轉為物件的方式儲存,便於多種方式檢索。

put cookie_service/_doc/1

}put cookie_service/_doc/2

}get cookie_service

delete cookie_service

2 使用 nested 物件,增加key/value

put cookie_service

, "datevalue": ,

"keywordvalue": ,

"intvalue": }},

"url": }}

}}}

3 寫入資料,使用key和合適型別的value欄位

put cookie_service/_doc/1

,

] }

put cookie_service/_doc/2

,

] }

4 nested 查詢,通過bool查詢進行過濾

post cookie_service/_search

}, }}

]}}}

}}put softwares/

}}6 初始化資料

put softwares/_doc/1

delete softwares

7 優化,把字串轉為物件儲存 便於正則匹配

put softwares/

, "properties": ,

"hot_fix": ,

"marjor": ,

"minor": }}

}}}

8 通過 inner object 寫入多個文件

put softwares/_doc/1

}put softwares/_doc/2

}put softwares/_doc/3

}9 通過 bool 查詢,

post softwares/_search},}

]}

}}

ES資料建模最佳實踐

如何對欄位進行建模 最佳實踐 其他demo 參考資料建模是對真實世界進行描述的一種工具和方法,實現對現實世界的對映 keyword 使用於 filter,sorting 及 aggregations 多欄位型別 數值型別 列舉型別 如果不需要檢索 如不需要排序或者聚合分析,更新頻繁,聚合查詢頻繁的 ...

es6 最佳入門實踐 12

在es5中,物件導向我們通常寫成這樣 function person name,age person.prototype.showname function let p new person xiaoqiang 10 p.showname 上面這種寫法與傳統的物件導向寫法有很大的不同,讓學習過其他物...

es6 最佳入門實踐 10

generator函式是es6提供的一種非同步程式設計解決方案。在它的內部封裝了多個狀態,因此,又可以理解為一種狀態機,執行generator函式後返回乙個迭代器物件,使用這個迭代器物件可以遍歷出generator函式內部的狀態 generator函式和傳統函式的不同點有 1 函式定義的時候,fun...