0

solrからのデータインポートに関するドキュメントをフォローしています。ローカルデータベースに接続できますが、構成ファイルで外部キーの読み取りに問題があります。私のテーブルは次のとおりです。

product
------------
id
name
continent_id


continent
------------
id
name

data-config.xmlは:

<dataConfig>
  <dataSource type="JdbcDataSource" driver="org.postgresql.Driver" url="jdbc:postgresql://localhost/my_db" user="postgres" password="postgres" readOnly="true" />
  <document name="products">
    <entity name="product" query="select * from product">
      <field column="ID" name="id" />
      <field column="NAME" name="name" />

      <entity name="continent" query="select NAME from continent where id='${product.CONTINENT_ID}'">
        <field column="name" name="continent" />
      </entity>            
    </entity>
  </document>
</dataConfig>

私が見ているエラーは次のとおりです。

SEVERE: Exception while processing: product document : SolrInputDocument[{id=id(1.0)={1}, name=name(1.0)={Fancy Pants}}]:org.apache.solr.handler.dataimport.DataImportHandlerException: Unable to execute query: select NAME from continent where id='' Processing Document # 1

データベースに正常に接続していますが、外部キーを読み取ることができませんproduct.CONTINENT_IDcontinent外部キーを読み取ってインデックスを作成するには、上記のxmlを別の方法で構成する必要がありますか?

4

1 に答える 1

0

$ {product.CONTINENT_ID}が、テーブル名とまったく同じケースでcontinent_idで記述されていることを確認してください。Solrは常に大文字と小文字を区別するわけではないので(場合によっては無視することもあれば、無視しないこともあります)、念のために正確なものを使用してください。

于 2012-10-05T07:28:21.353 に答える