我已經看了很多論壇條目。SolrCloud與單獨索引和搜索加快搜索
我的用例是將非常規模式下從SQL Server到Solr的大量數據拉到Solr並且能夠快速搜索到它。
我們目前的用戶界面定期更新SQL服務器上的數據,但我們的操作非常緩慢。我們希望能夠將所有數據最初從數據庫拖放到後臺批處理中的Solr,然後成爲能夠在一批中定期進口德爾塔進口(儘可能頻繁地)以儘可能保持數據接近實時。我還沒有做過任何測試,並且正在嘗試根據其他人的經驗提出一個架構來從...開始。
我聽說索引變慢查詢/搜索,我想爲我們的解決方案避免這種情況。我已經給了一個10-30分鐘的滯後時間,可以跟蹤用例中的軟件包 - 這意味着能夠在30分鐘內對三角洲進行索引。
有效負載很重,儘管跨多個表連接,但這只是爲了檢索它並將其轉儲到Solr端的非規範化模式。這個想法是真的加快了從非規格化Solr中搜索和檢索數據架構。
我更大的擔心是數據在全球範圍內定期更新,需要通過delta-imports通過一些腳本同步,可能需要3-5分鐘的時間間隔。我不希望這種增量索引進程完全影響搜索操作。
10萬行 - >非規格化 - >索引的大小 - > 30萬行
1000更新/分鐘
5000查詢/分鐘
隨着SolrCloud方法,我可以使用帶領導的主/從方法(作爲發生索引的主人)和 副本(在其上進行搜索) - 確切地說? Solr REST API將被我們的前端代碼訪問。 我也看過集合別名方法作爲另一種選擇,但是UI必須以某種方式定期指向一組新的集合。
由於索引確實需要時間才能將數據從RDBMS中提取到Solr索引中,我正在努力處理NRT數據。 添加softCommits似乎有自己的一套陷阱要知道。
任何幫助表示讚賞,
維傑
我可以使用docId的前綴(如idx!docid1)將索引路由到SolrCloud的某個分片嗎?那我可以用q = ...&_ route_!= idx!從非索引碎片進行檢索? https://cwiki.apache.org/confluence/display/solr/Shards+and+Indexing+Data+in+SolrCloud – Vijay