问题:
为现有 e 实现 ElasticSearch (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中文网其他相关文章!