2012-02-23 72 views
0

我想從索引數據庫中使用數據導入處理程序讀取數據後編制索引數據,但我需要處理索引它之前的數據solr ...爲了嘗試創建自定義轉換器,但我無法這樣做。 ....我已經寫了在http://wiki.apache.org/solr/DIHCustomTransformer給出的Java代碼...但他們沒有給出如何使用它的說明.... PS>我是相當新的java如何爲solr DataImportHandler創建自定義變形金剛?

我不能裝載變壓器即使在執行這裏提到http://wiki.apache.org/solr/SolrPlugins#How_to_Load_Plugins所有三種方式後...

在我的數據-config.xml中我添加了一個實體:

<entity name="cod" query=".. " transformer="foo.check"> 
</entity> 

Java代碼:

package foo; 
import java.util.*; 
public class check { 
... 
... 
} 

然後我已使用命令 jar文件使得內部lib目錄後 「罐子CVF foo.jar中check.class」 並置於foo.jar中例如內部/ solr的/ lib中solr .....我也嘗試了其他兩種方法...
即指定lib路徑內solrconfig.xml並添加foo.jar內solr.war

回答

2

如果您指的是如何包括類對於Solr使用它,請檢查http://wiki.apache.org/solr/SolrPlugins#How_to_Load_Plugins

您可以將該類打包爲jar並將其添加到solr內核的lib文件夾中,以便Solr可以加載您已構建的自定義插件類。

對於類的配置中的參考 -

用法如URL定義。

您需要在您的數據-config.xml文件的完整包名指定變壓器如下:

<entity name="artist" query="..." transformer="foo.TrimTransformer"> 
     <field column="artistName" /> 
</entity> 
+0

感謝Jayendra,但即使執行完所有三種方式之後,我仍然無法加載轉換器......在我的data-config.xml中,我添加了一個實體 java代碼: package foo; import java.util。*; 公共課堂檢查{ – 2012-02-23 16:03:48

2

這可能與你如何建立你的jar文件。解壓jar文件,你應該找到一個名爲「foo」的文件夾,在這個文件夾中應該有check.class,(foo/check.class)。我有一種感覺,你只是把check.class文件放進去,然後用「foo.check」引用它。另一種可以檢查的方法是將變壓器更換爲「檢查」,因此'變壓器='檢查''。 jar文件中的文件夾層次結構和完全限定的類名稱需要完全匹配。