2015-04-06 31 views
1

我正在使用SOLR 4.5(獨立實例),我試圖使用外部字段來提高文檔的排名。我有兩個外部文件字段,用於兩個不同的參數,每天更改,我在edismax分析器的「bf」和「boost」參數中使用。以前,這些字段是SOLR索引的一部分。SOLR外部文件字段性能問題

我面臨嚴重的性能問題,將這些字段從索引移到外部文件。 SOLR機器的CPU使用率在峯值負載下達到100%,平均響應時間從13毫秒增加到接近150毫秒。

有什麼我可以做的,以改善使用外部文件字段時的SOLR的性能。在boost/bf函數中使用外部文件字段值時是否有任何事情需要注意?

+0

腳本你分享了' fieldType'和'field'來自schema.xml的外部文件? – cheffe 2015-04-07 08:01:56

+0

<字段類型名稱= 「ext_file_field」 關鍵字段= 「PID」 DEFVAL = 「0.0」 類= 「solr.ExternalFileField」 valType = 「浮動」/> – user3257595 2015-04-08 08:41:53

+0

行,即'fieldType',怎麼樣的場你實際使用那種類型? – cheffe 2015-04-08 09:20:10

回答

0

如SO Relevancy boosting very slow in Solr所述,外部文件由鍵組成的鍵=值對應按該鍵排序。這也在the java doc of the ExternalFileField

外部文件可以被分類或由密鑰字段未排序的說明,但它會大大緩慢的(另)如果它不排序。

所以,如果你的文件的內容是這樣的(只是一個例子)

300=3.8294805903e-07 
5=3.8294805903e-07 
20=3.8294805903e-07 

你將來需要這種改變的內容

5=3.8294805903e-07 
20=3.8294805903e-07 
300=3.8294805903e-07 
+0

如果密鑰是字母數字字符串,該怎麼辦?我們是否應該對此進行分類? – user3257595 2015-04-10 11:40:46