2015-05-13 61 views
0

我在PostgreSQL中有posts表,其中title,contentcreated列。我想爲每個帖子添加一些關鍵字,但是我對如何存儲它們存在一些疑問。現在我正在考慮的方法:在posts表關鍵字的陣列(例如,「英格蘭足壇利物浦」)如何在數據庫中存儲帖子的關鍵字

  1. keywordspost_id外鍵
  2. keywords列。

創建用戶界面後,我將在我的服務器上安裝ElasticSearch,並添加在我的網站上按關鍵字搜索帖子的功能。我需要知道您希望更快地進行搜索的方式是什麼?提前致謝!

+0

1.與不支持數組的其他數據庫兼容,當按關鍵字搜索帖子時(我不確定postgres如何實現數組包含查詢),我會想到更高性能。 –

+1

@ColonelThirtyTwo:您可以在數組列上創建索引,並且某些數組運算符(包括遏制運算符)可以使用這樣的索引。這個博客系列可能很有趣:http://www.databasesoup.com/2015/01/tag-all-things.html Josh比較了各種不同的存儲標籤策略。陣列解決方案實際上工作得很好 –

回答

0

你所建議的選項對我來說聽起來都不錯。
我會去多對多的關係,因爲我懷疑很多帖子可能會分享很多關鍵字。
因此,我建議Keywords表和Keyword_namePostToKeywordPostToKeyword_Post_IdPostToKeyword_Keyword_Id

相關問題