我在PHP/MySQL中有一個heldesk應用程序。我想實現實時全文搜索,並且我有入圍的Solr。 MySQL數據庫將存儲搜索所需的所有數據和數據,並將導入用於構建Solr索引。所有搜索請求將由Solr處理。關於Solr的一些問題。交易和實時搜索
我要的是
- 實時搜索。當有人更新一張票時,它應該可用於搜索。
- 如果多人同時更新票,Solr的應該能夠處理提交
按我的Solr的理解,這是我怎麼想的,系統將正常工作。用戶更新票證 - >相應的數據庫記錄修改 - >向索引服務器發送請求以修改索引中的相應文檔。
我讀過一本關於Solr的書,下面的問題讓我感到困擾。
書中提到,
「提交在Solr的慢。根據索引大小,Solr的 自動升溫的配置,和Solr的緩存狀態之前 提交,提交可以採取一個不平凡的時間。通常情況下,它 需要幾秒鐘,但它可以在 極端情況下」
如果分鐘的一些數這是真的,那麼我將如何知道數據何時可用於搜索以及如何實現實時搜索?即使花了幾秒鐘,也不可能是實時的。此外,我不想要的車票更新操作慢下來(通過添加更新的Solr指數的額外步驟)
它也提到,
「沒有事務隔離。這意味着,如果有多個 Solr客戶端提交修改並將它們提交到 重疊時間,那麼在客戶端告知Solr提交之前,可能會提交一個客戶端的一組 更改的部分更改,此 也適用於回滾。如果這對於您的 體系結構是個問題,那麼請考慮使用一個客戶端進程responsi可更新Solr「 」。
李四這意味着,由於缺乏交易的承諾,Solr的可以胡來了,如果多人同時更新的票嗎?
現在我面前的問題是:我可以使用Solr來實現這兩個嗎?如果是,如何?
編輯1: 是啊!我遇到了幾個類似的問題,但沒有一個有令人滿意的答案。所以再次張貼。對不起如果你發現它重複。
相似(有些鏈接可能會有幫助)http://stackoverflow.com/questions/5909565/how-can-i-use-solr-to-do-real-time-搜索 – robasta 2012-02-16 10:55:49