私は Solr を初めて使用するので、フル インポートが正常に機能するのにデルタ インポートが何もしない理由がわかりません。Delta-import を実行するたびに、新しいドキュメントの追加について言及していない同じ応答が返されます。列が存在し、その行が編集/追加されるたびupdated_at
に正しいものが含まれます。timestamp
デルタ インポートを機能させるために必要なものが不足していますか?
の出力http://domain.com:8080/solr/dataimport?command=delta-import
<response>
<lst name="responseHeader">
<int name="status">0</int>
<int name="QTime">104</int>
</lst>
<lst name="initArgs">
<lst name="defaults">
<str name="config">/usr/local/solr/conf/data-config.xml</str>
</lst>
</lst>
<str name="command">delta-import</str>
<str name="status">idle</str>
<str name="importResponse"/>
<lst name="statusMessages">
<str name="Total Requests made to DataSource">1</str>
<str name="Total Rows Fetched">0</str>
<str name="Total Documents Skipped">0</str>
<str name="Delta Dump started">2012-08-24 01:55:07</str>
<str name="Identifying Delta">2012-08-24 01:55:07</str>
<str name="Deltas Obtained">2012-08-24 01:55:07</str>
<str name="Building documents">2012-08-24 01:55:07</str>
<str name="Total Changed Documents">0</str>
<str name="Total Documents Processed">0</str>
<str name="Time taken">0:0:0.9</str>
</lst>
<str name="WARNING">
This response format is experimental. It is likely to change in the future.
</str>
</response>
データ構成.xml
<dataConfig>
<dataSource
name="mysql"
driver="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost/mysite"
user="myuser"
password="mypassword" />
<document>
<entity
name="posts"
datasource="mysql"
query="select id, title, description from posts"
deltaQuery="select id from posts where updated_at > '${dataimporter.last_index_time}'"
deltaImportQuery="select id, title, description from posts where id='${dataimporter.delta.id}'">
</entity>
<field column="id" name="id" indexed="true" stored="true" />
<field column="title" name="title" indexed="true" stored="true" />
<field column="description" name="description" indexed="true" stored="true" />
</document>
</dataConfig>