[
https://issues.apache.org/jira/browse/SOLR-1229?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12724803#action_12724803
]
Noble Paul commented on SOLR-1229:
----------------------------------
bq.don't really appreciate you committing a partial patch of this
I am sorry about this. But, my fix was good enough for the bug's description. I
was planing to open another issue for this.
Either we should change the descrption to , deprecate 'pk' or we can open
another issue for the same.
DIH works as intented to with this fix and the deprecation can be take up .
bq.Won't there always be a uniqueKey-named key in that map after
transformations..
The assumption is that transformation is always done. My experience with ''DIH
support says that users don't use it always.Transformer is just a addon .
Anyway , the right fix would be to find out what is the right mapping in DIH
for the given solr <uniqueKey> and use it as a pk. That can definitely be
another jira issue
your thoughts?
> 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
> Assignee: Noble Paul
> 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.