[
https://issues.apache.org/jira/browse/SOLR-1229?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12722921#action_12722921
]
Erik Hatcher commented on SOLR-1229:
------------------------------------
Noble - I'm not following your explanation here. The pk attribute seems like
it should simply be removed (and the usages of it refactored to use Solr's
uniqueKey setting when doing updated/deleted activities - that's the key to the
Solr docs after all).
Regarding 'column'/'name' - there are cases where it is quite confusing - where
column is used to specify the Solr field name - and that feels wrong to me.
'name' should always be the Solr name, and if it is a templated field, it
should be 'name'/'template' not 'column'/'template', for example.
> deletedPkQuery feature does not work when pk and uniqueKey field do not have
> the same value
> -------------------------------------------------------------------------------------------
>
> Key: SOLR-1229
> URL: https://issues.apache.org/jira/browse/SOLR-1229
> Project: Solr
> Issue Type: Bug
> Components: contrib - DataImportHandler
> Affects Versions: 1.4
> Reporter: Erik Hatcher
> Fix For: 1.4
>
> Attachments: SOLR-1229.patch, SOLR-1229.patch, SOLR-1229.patch
>
>
> Problem doing a delta-import such that records marked as "deleted" in the
> database are removed from Solr using deletedPkQuery.
> Here's a config I'm using against a mocked test database:
> {code:xml}
> <dataConfig>
> <dataSource driver="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost/db"/>
> <document name="tests">
> <entity name="test"
> pk="board_id"
> transformer="TemplateTransformer"
> deletedPkQuery="select board_id from boards where deleted = 'Y'"
> query="select * from boards where deleted = 'N'"
> deltaImportQuery="select * from boards where deleted = 'N'"
> deltaQuery="select * from boards where deleted = 'N'"
> preImportDeleteQuery="datasource:board">
> <field column="id" template="board-${test.board_id}"/>
> <field column="datasource" template="board"/>
> <field column="title" />
> </entity>
> </document>
> </dataConfig>
> {code}
> Note that the uniqueKey in Solr is the "id" field. And its value is a
> template board-<PK>.
> I noticed the javadoc comments in DocBuilder#collectDelta it says "Note: In
> our definition, unique key of Solr document is the primary key of the top
> level entity". This of course isn't really an appropriate assumption.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.