我們有一個託管應用程序,用於管理內容頁面。每個頁面可以有多個自定義字段,以及一些標準字段(時間戳,用戶名,用戶電子郵件等)。高效過濾/搜索
與可能使用該系統的數百個不同的網站 - 什麼是處理過濾/搜索的有效途徑?描繪你想要縮小的網格視圖。您可以過濾特定字段(用戶標識,日期),也可以輸入全文搜索。
例如,「通過用戶標識10開始的所有頁面」將在MySQL數據庫上一個漂亮的快速查詢。但諸如「用戶的用戶名爲10並匹配[某些搜索查詢]的所有頁面」會吸引數據庫,因此它適合於像Lucene這樣的搜索引擎。
基本上我想知道其他大型網站如何做這種事情。他們是否將100%的搜索引擎用於所有類型的過濾?他們是否將數據庫查詢與搜索引擎混合?
如果我們只使用搜索引擎,則在搜索索引中出現新的/更新的對象所需的延遲時間存在問題。也就是說,我讀過,更新索引立即並不是很聰明,而是分批進行。即使這意味着每5分鐘一次,當用戶查看簡單頁面列表(例如「category:5」的搜索查詢)時,如果最近添加的頁面沒有立即列出,用戶會感到困惑。
我們正在使用MySQL,並一直在密切關注Lucene搜索。還有其他一些我不知道的技術嗎?
我的想法是提供其使用MySQL對基本字段篩選簡單的過濾頁面。然後提供一個單獨的全文搜索頁面,可以呈現類似於Google的結果。這是唯一的方法嗎?