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 Rui Pereira <ru...@gmail.com> on 2009/03/25 14:33:16 UTC
Deleting documents
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
Re: Deleting documents
Posted by Noble Paul നോബിള് नोब्ळ् <no...@gmail.com>.
I can't make out what the obvious mistake is
BTW why don't you use SolrJ?
http://wiki.apache.org/solr/SolrJ
--Noble
On Thu, Mar 26, 2009 at 3:57 PM, Rui Pereira <ru...@gmail.com> wrote:
> 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
>>
>
--
--Noble Paul
Re: Deleting documents
Posted by Chris Hostetter <ho...@fucit.org>.
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
Re: Deleting documents
Posted by Rui Pereira <ru...@gmail.com>.
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
>
Re: Deleting documents
Posted by 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