I tried your second case with SOLR3.5, It runs fine and the record could be deleted when you only configure deletedPkQuery. Could you consider upgrading your SOLR to version 3.5?
Best Regards, Illu Ying -----邮件原件----- 发件人: RPSolrUser [mailto:roopa.parek...@gmail.com] 发送时间: 2012年11月27日 23:49 收件人: solr-user@lucene.apache.org 主题: Delete documents in SOLR 1.4.1 Question: We have Solr 1.4.1 in Production currently. We need to delete documents identified by ids on daily basis from solr. --Following deletes by keys and delta data load works-- -- snippet of db-data-config.xml <dataConfig> <dataSource name="goodtest" driver="oracle.jdbc.OracleDriver" url="jdbc:oracle:thin:@server:port:servicename" user="userid" password="password" batchSize ="5000"/> <document> <entity name="agreement_master" pk="AGREEMENT_KEY" dataSource="goodtest" transformer="RegexTransformer,TemplateTransformer,DateFormatTransformer,ClobTransformer, OracleTimestampTransformer" deletedPkQuery="select AGREEMENT_KEY from solr_part_supplier_agreement_del" query= "select AGREEMENT_KEY, bunch of other fields FROM SOLR_part_supplier_agreement" deltaQuery="select AGREEMENT_KEY, bunch of other fields FROM SOLR_part_supplier_agree_delta" deltaImportQuery="select AGREEMENT_KEY, bunch of other fields FROM SOLR_part_supplier_agree_delta where AGREEMENT_KEY = '${dataimporter.delta.AGREEMENT_KEY}'" > </entity> </document> </dataConfig> -- snippet of solrconfig.xml </requestHandler> <requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler"> <lst name="defaults"> <str name="config">db-data-config.xml</str> </lst> </requestHandler> I am invoking Delta-Import using dataimport.jsp. Everything works good. Delta data (indentifed by SOLR_PART_SUPPLIER_AGREE_DELTA) get indexed and bunch of documents identified by solr_part_supplier_agreement_del get deleted. However, I have a need to just delete the documents from another solr core without loading delta data. How can I achieve that? -- This does not work. Does not delete any docs as deletedPkQuery is supposed only work with delta loads -- <dataConfig> <dataSource name="test" driver="oracle.jdbc.OracleDriver" url="jdbc:oracle:thin:@server:port:servicename" user="userid" password="password" /> <document> <entity name="part_master_del" pk="UNIQUE_ID" dataSource="test" deletedPkQuery="select part_master_key as UNIQUE_ID from PART_MASTER_DEL" > </entity> </document> </dataConfig> Question: How can I just delete the documents by id? Is deleteDocById the answer? How can I use it? I tried but the DIH does not show any updates. Can we use any other approach? Do I need to patch SOLR 1.4.1 with any bug fix? Example of deleteDocById is appreciated. Thanks. -- View this message in context: http://lucene.472066.n3.nabble.com/Delete-documents-in-SOLR-1-4-1-tp4022660.html Sent from the Solr - User mailing list archive at Nabble.com.