1

「クリーニングを使用した完全インポート」コマンドを実行すると、「インデックス作成に失敗しました。すべての変更をロールバックしました」というエラーが表示されます。

私のdataimport設定ファイル:

<dataConfig>
  <dataSource type="JdbcDataSource" name="ds-1" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://my.ip/my_db" user="my_db_user" password="my_password" readOnly="True"/>
  <document> 
    <entity name="videos" pk="ID" transformer="TemplateTransformer" dataSource="ds-1" 
            query="SELECT * FROM videos LIMIT 100">
      <field column="id" name="unid" indexed="true" stored="true" />
      <field column="title" name="baslik" indexed="true" stored="true" />
      <field column="video_img" name="img" indexed="true" stored="true" />
    </entity>
  </document>
</dataConfig>
4

1 に答える 1

1

ある時点で同じエラーメッセージが表示され続けました。私にとっては、次の理由があります。

  • 接続文字列が正しくありません。
  • 不正なドライバー(com.mysql.jdbc.Driver)
  • 悪いクエリ
  • solrfieldsへの列のマッピングが正しくありません(これも問題になる可能性があります)

データベース内の列の名前がSOLRの列の名前と同じ(大文字と小文字が区別される)であることを確認してください。クエリで列名の名前を変更しない場合:

select id as uniqueid, title as Tittle

または、次のように定義したエンティティのフィールド要素を使用します。

<field column="ID" name="id" />

フィールド要素を間違って使用しています。この要素の使用方法については、http ://wiki.apache.org/solr/DataImportHandler#Configuration_in_data-config.xmlを参照してください。

他の関連データやログを共有できる場合は、より具体的な情報を提供できます。

幸運を。

于 2011-11-23T14:36:10.247 に答える