[英]Elastic Search: One index with custom type to differentiate document schemas VS multiple index, one per document type?
我在 ES 方面沒有經驗(我的背景更多是關系數據庫),我正在努力實現在我的 Web 應用程序中有一個搜索欄來搜索它的全部內容(或我願意索引的內容)的目標ES)。
實現的架構是 Jamstack 和 gatsby 應用程序,從一個 Strapi 應用程序(無頭 cms)獲取內容(有時在構建時,有時在運行時)。 中間自己開發了一個微服務,將trapi應用中創建的文檔寫入到ES數據庫中。 此時,所有文檔都只有一個索引,無論類型如何。
我的問題是,隨着應用程序的增長和創建不同類型的文檔(有時彼此之間非常不同,例如我可以擁有一篇文章(新聞)和一家醫院)我很難像我一樣正確查詢數據庫在進行查詢時定義很多特定條件(涵蓋所有類型的文檔)。
我對此的解決方案是只保留一個索引並將查詢分解為多個索引,當用戶點擊搜索按鈕時,這些查詢將運行,結果將在呈現之前合並在一起,或者將唯一的索引分解為幾個索引,每個文檔一個,這讓我產生了另一個疑問,是否可以一次查詢多個索引並在查詢中定義特定的索引字段?
哪種方法最好? 我希望我能在這方面明確自己。
提前致謝。
根據您提供的示例,其中一種類型的文檔可以是news
類型而另一種類型是hospital
,創建多個索引是有意義的(但您還需要說明您有多少這樣的不同類型)。 這兩種方法各有利弊,一旦您了解它們,您就可以根據您的用例選擇一種。
在我開始列出優點/缺點之前,您的另一個問題的答案是您可以使用multi-search API在單個搜索查詢中查詢多個索引。
擁有單一索引的優點
缺點
具有不同索引的優點
缺點
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.