You are viewing a plain text version of this content. The canonical link for it is here.
Posted to solr-user@lucene.apache.org by Chris Hostetter <ho...@fucit.org> on 2009/04/01 00:34:32 UTC

Re: Deleting documents

assuming you really have a great reason for not using SolrJ, searching for 
"missing content stream" would probably have lead you to discover that you 
need to specify a Content-Type when POSTing to Solr so it understands your 
request.  (we could probably make the error message better, but for now 
since you aren't sending *any* content type, it doesn't even know to look 
at the POST body)


: Date: Thu, 26 Mar 2009 10:27:16 +0000
: From: Rui Pereira <ru...@gmail.com>
: Reply-To: solr-user@lucene.apache.org
: To: solr-user@lucene.apache.org
: Subject: Re: Deleting documents
: 
: Here is the code where I make the request:
: Document xmlDocument = this.constructDeleteXml();
: 
:             try {
:                 URL url = new URL(this.solrPath + "/update");
: 
:                 HttpURLConnection connection = (HttpURLConnection)
: url.openConnection();
:                 connection.setDoOutput(true);
:                 connection.setRequestMethod("POST");
:                 OutputStream output = connection.getOutputStream();
: 
:                 TransformerFactory transformerFactory =
: TransformerFactory.newInstance();
:                 Transformer transformer =
: transformerFactory.newTransformer();
:                 transformer.setOutputProperty(OutputKeys.ENCODING, "UTF-8");
: 
:  transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes");
: 
:                 DOMSource source = new DOMSource(xmlDocument);
:                 StreamResult streamResult = new StreamResult(output);
:                 transformer.transform(source, streamResult);
: 
:                 output.flush();
:                 output.close();
:             } catch (MalformedURLException e) {
:                 // TODO(RP): treat exception
:             } catch (IOException e) {
:                 // TODO(RP): treat exception
:             } catch (TransformerConfigurationException e) {
:                 // TODO(RP): treat exception
:             } catch (TransformerException e) {
:                 // TODO(RP): treat exception
:             }
: 
: 
: I changed the the request xml to something like this:
: <delete>
:     <query>topologyid:(3141 OR 3142)</query>
: </delete>
: 
: 2009/3/26 Noble Paul നോബിള്‍ नोब्ळ् <no...@gmail.com>
: 
: > how are you posting the xml ?  missing content stream means that the
: > POST data is missing
: >
: > On Wed, Mar 25, 2009 at 7:03 PM, Rui Pereira <ru...@gmail.com>
: > wrote:
: > > I'm trying to delete documents based on the following type of update
: > > requests:
: > >
: > <delete><query>topologyid:3140</query><query>topologyid:3142</query></delete>
: > >
: > > This doesn't cause any changes on index and if I try to read the
: > response,
: > > the following error ocurs:
: > >
: > > 13:32:35,196 ERROR [STDERR] 25/Mar/2009 13:32:35
: > > org.apache.solr.update.processor.LogUpdateProcessor finish
: > > INFO: {} 0 16
: > > 13:32:35,196 ERROR [STDERR] 25/Mar/2009 13:32:35
: > > org.apache.solr.common.SolrException log
: > > SEVERE: org.apache.solr.common.SolrException: missing content stream
: > > at
: > >
: > org.apache.solr.handler.ContentStreamHandlerBase.handleRequestBody(ContentStreamHandlerBase.java:49)
: > > at
: > >
: > org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:131)
: > > at org.apache.solr.core.SolrCore.execute(SolrCore.java:1333)
: > > at
: > >
: > org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:303)
: > > at
: > >
: > org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:232)
: > > at
: > >
: > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
: > > at
: > >
: > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
: > > at
: > >
: > org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
: > > at
: > >
: > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
: > > at
: > >
: > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
: > > at
: > >
: > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
: > > at
: > >
: > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
: > > at
: > >
: > org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:182)
: > > at
: > >
: > org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
: > > at
: > >
: > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
: > > at
: > >
: > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
: > > at
: > >
: > org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
: > > at
: > >
: > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
: > > at
: > >
: > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
: > > at
: > >
: > org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
: > > at
: > >
: > org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
: > > at
: > org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
: > > at java.lang.Thread.run(Unknown Source)
: > > 13:32:35,196 ERROR [STDERR] 25/Mar/2009 13:32:35
: > > org.apache.solr.core.SolrCore execute
: > > INFO: [] webapp=/apache-solr-nightly path=/update
: > > params={<delete><query>topologyid:3142</query></delete>=} status=400
: > > QTime=16
: > >
: > > Thanks in advance,
: > >   Rui Pereira
: > >
: >
: >
: >
: > --
: > --Noble Paul
: >
: 



-Hoss