基於Kafka和Elasticsearch構建實時站內搜尋功能的實踐

2023-03-20 18:07:24

作者:京東物流 紀卓志

目前我們在構建一個多租戶多產品類網站,為了讓使用者更好的找到他們所需要的產品,我們需要構建站內搜尋功能,並且它應該是實時更新的。本文將會討論構建這一功能的核心基礎設施,以及支援此搜尋能力的技術棧。

問題的定義與決策

為了構建一個快速、實時的搜尋引擎,我們必須做出某些設計決策。我們使用 MySQL 作為主資料庫儲存,因此有以下選擇:

  1. 直接在 MySQL 資料庫中查詢使用者在搜尋方塊中輸入的每個關鍵詞,就像%#{word1}%#{word2}%...這樣。