2011-12-20 4 views
4

私は最近3日間solrでClobTransformerとついています。私は、oracle clobフィールドをsolrのテキストフィールドに変換したい。私は複数のコアを使用しており、設定ファイルとスキーマファイルを最初から起動しました。solr clobtransfomer

これは私の設定ファイルである:

<lib dir="../../../dist/" regex="apache-solr-dataimporthandler-.*\.jar" /> 

<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler"> 
    <lst name="defaults"> 
     <str name="config">data-config.xml</str> 
    </lst> 
</requestHandler> 

これらはコアのための私のスキーマファイルの列です:

<field name="id" type="string" indexed="true" stored="true" multiValued="false" required="true"/> 
<field name="mandp" type="text_en_splitting" indexed="true" stored="true" multiValued="false" /> 

これは、コアのための私のデータ-config.xmlにある:

<dataConfig> 
    <dataSource type="JdbcDataSource" 
       driver="oracle.jdbc.driver.OracleDriver" 
       url="jdbc:oracle:thin:@***" 
       user="***" 
       password="****"/> 
    <document> 
     <entity name="wiki" transformer="ClobTransformer" 
       query="Select t.id as id, t.mandp From table1 t"> 
      <field column="mandp" name="mandp" clob="true" /> 
     </entity> 
    </document> 
</dataConfig> 

私がsolrを起動すると、dataimporthandler * .jarファイルがコンソールに正常にロードされたことがわかります。 http://localhost:8983/solr/wiki/dataimport?command=full-import&clean=falseからデータ・インポートを実行すると、コンソールにエラーが表示されず、変圧器やクローブに関連するものも表示されません。ですから、私が変圧器のパラメータ(変圧器= "bla bla bla")に何かを入力すると、変圧器の引数が完全に無視されたり、完全なログがオフになったりすることがあります。

私がsolrを照会すると、mandpフィールドに[email protected]が表示されます。 HTMLStripTransformerクラスを使用すると、何も起こりません。私はこの分野で両方を使いたいです。

どのようなアイデアをいただければ幸いですか?

答えて

4

ClobTransformerが解雇されていないようです。私は個人的にこのようなクエリ内mandp列名を変更します

Select t.id as id, t.mandp as mandp From table1 t 
+0

Select id、mandp from table1 "を選択します。違いはありませんでした。 –

+2

何が起きているかを発見しました。それはコラムの不一致でした。 OracleはIDをIDに、mandpをMANDPに変換します。フィールド一致が見つからないので、clob = "true"は適用されませんでした(私はソルの場合一致しなければならないことを知っていましたが、oracleがデフォルトですべての列を大文字に変換するのを忘れてしまった) –

+1

ええ、私もそれを忘れてしまった。私はそれほど遠くではありませんでした...列名に関連するものでなければなりませんでした。 – javanna

-1

データ-config.xmlファイル内のエンティティにトランス=「ClobTransformer、RegexTransformer」を追加してください

私は私のクエリを "変更