優先考慮普通物件,其次考慮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...