0

Solrを構成し、インデックス作成/実行をスムーズに行いました。唯一の問題は、デルタインポートを実行できないことです。次のようなメッセージのみをダンプします。

情報:idはSolrSchemaの必須フィールドです。しかし、DataConfigにはありません

しかし、スキーマのIDは次のように定義されています。

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

別のメッセージは、デルタインポートが完了しなかったことを示しています。

情報:エンティティのModifiedRowKeyが完了しました:取得した説明行:0

私のスキーマには次のものがあります。

<entity name="user"  pk="id" query="SELECT * FROM users"
   deltaImportQuery="SELECT * FROM users WHERE id = '${dataimporter.delta.id}'"
   deltaQuery="SELECT id FROM users WHERE updated_at > '${dataimporter.last_index_time}'"
 >
 ..

編集: 上記はWikiに従って設定されました。しかし、例-DIHのDataConfigを調べた後、上記を次のように変更しました。

<entity name="user"  pk="id" query="SELECT * FROM users"
  deltaQuery="SELECT id FROM users WHERE updated_at > '${dataimporter.last_index_time}'"  
>

しかし、それでも機能しません。

私の質問は、データをデルタインポートできるようにするためにスキーマを変更するにはどうすればよいですか?

4

1 に答える 1

0

アプリをデバッグしましたが、問題は、アプリまたはMySQLが時刻を誤って、つまり実際の時刻よりも早く保存していたことでした。したがって、Deltaインデックスが実行されたとき、Solrはクエリに正しい時間をスローしましたが、それは「mysql」時間よりも遅いため、何もしませんでした。このリンクは私がデバッグするのに役立ちました。

于 2012-09-02T15:44:51.580 に答える