首頁 >資料庫 >mysql教程 >如何為多個實體關係建構Elasticsearch索引?

如何為多個實體關係建構Elasticsearch索引?

Susan Sarandon
Susan Sarandon原創
2024-11-29 16:32:10905瀏覽

How to Structure an Elasticsearch Index for Multiple Entity Relationships?

如何使用多個實體綁定來建立ElasticSearch 索引

簡介

簡介

Elastic ( ES )到現有應用程式中經常會提出如何在ES 索引中複製複雜資料庫結構的問題。本文解決了處理多個實體綁定時配置索引結構的具體挑戰。

資料庫結構

  • 考慮電子商務應用程式中的以下資料庫結構:
  • 產品(id、標題、價格)
  • 標誌(id, title)

FlagsProducts(包含ProductId、flagId、externalId 的資料透視表)

扁平化結構

{
"id": "00c8234d71c4e94f725cd432ebc04",
"title": "Alpha",
"price": 589.0,
"flags": ["Sellout", "Top Product"]
}

最佳化查詢和易用性,建議透過展平結構來對資料進行非規範化。這涉及建立包含其他表中所有相關資訊的產品文件:

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"
}
}
}
}
}

相應的ES 產品映射類型為:

Logstash SQL查詢

要填入 ES 索引,Logstash JDBC 輸入可以與下列查詢一起使用:

以上是如何為多個實體關係建構Elasticsearch索引?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn