具有多個實體綁定的ElasticSearch 索引結構
了解優化ElasticSearch (ES) 整合的資料庫結構的必要性,探索如何優化資料庫結構至關重要將複雜的關聯式資料建模為扁平化的ES 索引結構。
扁平結構中的多個實體綁定
非規範化是最佳化資料儲存的關鍵技術。例如,不要透過資料透視表維護產品和標誌之間的 N:M 關係,而是考慮建立平面 ES 索引,其中每個產品文件都包含關聯標誌的陣列。
產品文檔結構
扁平化產品文件將類似於以下結構:
{ "id": "00c8234d71c4e94f725cd432ebc04", "title": "Alpha", "price": 589.0, "flags": ["Sellout", "Top Product"] }
ES 索引的產品映射類型
ES 索引的ES 映射類型這個扁平結構看起來類似於以下內容:
PUT products { "mappings": { "product": { "properties": { "id": { "type": "string", "index": "not_analyzed" }, "title": { "type": "string" }, "price": { "type": "double", "null_value": 0.0 }, "flags": { "type": "string", "index": "not_analyzed" } } } } }
使用SQL 查詢擷取資料
要從資料庫中取得必要的資料以進行Logstash 處理,需要使用SQL查詢可以使用如下:
以上是如何將複雜的關係資料建模為扁平化的 ElasticSearch 索引結構?的詳細內容。更多資訊請關注PHP中文網其他相關文章!