問題:
將現有 (e 實作Elastic ES) - 使用MySQL資料庫的商業應用程序,應該如何設定索引結構來表示涉及多個的複雜資料庫模式實體綁定?
答案:
非規範化方法:
要處理多個實體綁定,建議使用非規範化方法。透過在文件和實體之間建立一對一映射來扁平化資料結構。在本例中,建立一個名為「product」的文件類型,其中包含「Products」、「Flags」和「flagsProducts」表中的所有必要欄位。
產品文件結構:
{ "id": "00c8234d71c4e94f725cd432ebc04", "title": "Alpha", "price": 589.0, "flags": ["Sellout", "Top Product"] }
ElasticSearch映射:
「產品」索引的對應類型類似於:
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查詢:
要從資料庫中提取必要的數據,請使用以下 SQL 查詢:
以上是如何在電子商務應用程式中為多個實體綁定建立 ElasticSearch 索引?的詳細內容。更多資訊請關注PHP中文網其他相關文章!