我想在PHP/MySQL項目中實現一個真正的搜索引擎。任何人都可以指出我正確的方向是什麼纔是做這種事情的最佳方式?基於Solr的搜索引擎入門
- 搜索用戶
- 用戶均位居/排序上的各種參數
這樣的參數可以是: - 評論數由 - 地質 - 喜歡上你的個人資料 號距離最終用戶的距離
我真正關心的是,像Solr這樣的搜索引擎需要我上傳「文檔」/數據集。但由於我的數據是「活的」,我應該每次用戶在我的網站上進行交互時不斷更新Solr文檔嗎?在那種情況下,它就像一個冗餘數據庫。
類似項目是怎麼做的?
我想在PHP/MySQL項目中實現一個真正的搜索引擎。任何人都可以指出我正確的方向是什麼纔是做這種事情的最佳方式?基於Solr的搜索引擎入門
這樣的參數可以是: - 評論數由 - 地質 - 喜歡上你的個人資料 號距離最終用戶的距離
我真正關心的是,像Solr這樣的搜索引擎需要我上傳「文檔」/數據集。但由於我的數據是「活的」,我應該每次用戶在我的網站上進行交互時不斷更新Solr文檔嗎?在那種情況下,它就像一個冗餘數據庫。
類似項目是怎麼做的?
一般而言,您的關注是正確的:作爲一個基於倒排索引的引擎,Solr依賴於提供其功能的「不可變」結構。
最重要的是,根據您的情況,有很多事情可以緩解這方面的問題。我建議你檢查SolrCloud功能,特別是近實時搜索。動態分片也可能是另一回事,但這取決於你的場景。
已經使用AWS,我選擇嘗試基於Solr的Amazon CloudSearch。 – Zoon
搜索引擎索引通常是一個「冗餘數據庫」。您可以隨時嘗試使用MySQL中的全文搜索功能(取決於您正在運行的版本),但Solr,ElasticSearch,Lucene等可能具有更多功能。 – halfer
是的,每次更新相關行時,都必須更新搜索索引以保持完整的可搜索性。如果這太昂貴了,您可以隨時選擇讓索引落後於您的模型 - 在很多情況下,全新的更新在五分鐘內無法完全搜索並不重要。 – halfer
感謝您的反饋。所以我在正確的軌道上:-) – Zoon