首頁 >後端開發 >php教程 >如何透過多個實體綁定優化ElasticSearch索引結構?

如何透過多個實體綁定優化ElasticSearch索引結構?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-10-29 22:58:29955瀏覽

How to Optimize ElasticSearch Index Structure with Multiple Entity Bindings?

如何使用多個實體綁定配置ElasticSearch 索引結構

背景

經常將遺留Search (ES) 與遺留應用程式整合由於資料結構和索引要求的差異帶來了挑戰。對於複雜的關係模式,非規範化資料和展平實體可以提高效能並簡化查詢。

問題:

如何展平具有多個實體綁定(n :m 關係)以在 ES 中實現最佳索引?

解決方案:

1.反規範化資料:

建立包含所有相關資料的產品文檔,包括嵌入的相關實體數組。下面是範例架構:

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

2。映射類型:

配置映射類型以符合新架構:

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

3. SQL 查詢:

使用連接相關實體並連接標誌標題的查詢從資料庫檢索資料:

以上是如何透過多個實體綁定優化ElasticSearch索引結構?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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