gpt4 book ai didi

search - 无法在 SOLR 中按范围删除

转载 作者:行者123 更新时间:2023-12-04 18:19:53 25 4
gpt4 key购买 nike

我有一个 SOLR 3.6 实例正在运行,JSON 作为默认的 updateHandler。

我可以使用以下内容删除单个文档:

curl "http://myURL/update?commit=true" -H 'Content-type:application/json' -d '{"delete": {"id":"1730887464"}}'

删除一系列 ID 的正确方法是什么?

我尝试了以下方法:
curl "http://myURL/update?commit=true" -H 'Content-type:application/json' -d '{"delete": {"id":"[* TO 1730887464]"}}'

curl "http://myURL/update?commit=true" -H 'Content-type:application/json' -d '{"delete": {"id":"[0 TO 1730887464]"}}'

我得到以下异常。任何帮助/指针将不胜感激。
我查过:

http://wiki.apache.org/solr/UpdateJSON

http://lucene.apache.org/solr/api/doc-files/tutorial.html
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
<title>Error 500 For input string: "[* TO 1730887464]"

java.lang.NumberFormatException: For input string: "[* TO 1730887464]"
at java.lang.NumberFormatException.forInputString(NumberFormatException. java:65)
at java.lang.Long.parseLong(Long.java:438)
at java.lang.Long.parseLong(Long.java:478)
at org.apache.solr.schema.TrieField.readableToIndexed(TrieField.java:295 )
at org.apache.solr.schema.TrieField.toInternal(TrieField.java:307)
at org.apache.solr.update.DirectUpdateHandler2.delete(DirectUpdateHandle r2.java:288)
at org.apache.solr.update.processor.RunUpdateProcessor.processDelete(Run UpdateProcessorFactory.java:68)
at org.apache.solr.update.processor.LogUpdateProcessor.processDelete(Log UpdateProcessorFactory.java:137)
at org.apache.solr.handler.JsonLoader.processUpdate(JsonLoader.java:120)
at org.apache.solr.handler.JsonLoader.load(JsonLoader.java:75)
at org.apache.solr.handler.ContentStreamHandlerBase.handleRequestBody(Co ntentStreamHandlerBase.java:58)
at org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandl erBase.java:129)
at org.apache.solr.core.RequestHandlers$LazyRequestHandlerWrapper.handle Request(RequestHandlers.java:244)
at org.apache.solr.core.SolrCore.execute(SolrCore.java:1376)
at org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter .java:365)
at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilte r.java:260)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(Servlet Handler.java:1212)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:3 99)
at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.jav a:216)
at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:1 82)
at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:7 66)
at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:450)
at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHand lerCollection.java:230)
at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection. java:114)
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:1 52)
at org.mortbay.jetty.Server.handle(Server.java:326)
at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:54 2)
at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnectio n.java:945)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:756)
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
at org.mortbay.jetty.bio.SocketConnector$Connection.run(SocketConnector. java:228)
at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.j ava:582)
</title>
</head>
<body><h2>HTTP ERROR 500</h2>
<p>Problem accessing /solr/update. Reason:
<pre> For input string: "[* TO 1730887464]"

java.lang.NumberFormatException: For input string: "[* TO 1730887464]"
at java.lang.NumberFormatException.forInputString(NumberFormatException. java:65)
at java.lang.Long.parseLong(Long.java:438)
at java.lang.Long.parseLong(Long.java:478)
at org.apache.solr.schema.TrieField.readableToIndexed(TrieField.java:295 )
at org.apache.solr.schema.TrieField.toInternal(TrieField.java:307)
at org.apache.solr.update.DirectUpdateHandler2.delete(DirectUpdateHandle r2.java:288)
at org.apache.solr.update.processor.RunUpdateProcessor.processDelete(Run UpdateProcessorFactory.java:68)
at org.apache.solr.update.processor.LogUpdateProcessor.processDelete(Log UpdateProcessorFactory.java:137)
at org.apache.solr.handler.JsonLoader.processUpdate(JsonLoader.java:120)
at org.apache.solr.handler.JsonLoader.load(JsonLoader.java:75)
at org.apache.solr.handler.ContentStreamHandlerBase.handleRequestBody(Co ntentStreamHandlerBase.java:58)
at org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandl erBase.java:129)
at org.apache.solr.core.RequestHandlers$LazyRequestHandlerWrapper.handle Request(RequestHandlers.java:244)
at org.apache.solr.core.SolrCore.execute(SolrCore.java:1376)
at org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter .java:365)
at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilte r.java:260)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(Servlet Handler.java:1212)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:3 99)
at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.jav a:216)
at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:1 82)
at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:7 66)
at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:450)
at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHand lerCollection.java:230)
at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection. java:114)
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:1 52)
at org.mortbay.jetty.Server.handle(Server.java:326)
at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:54 2)
at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnectio n.java:945)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:756)
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
at org.mortbay.jetty.bio.SocketConnector$Connection.run(SocketConnector. java:228)
at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.j ava:582)

最佳答案

您需要使用按查询删除:

curl "http://myURL/update?commit=true" -H 'Content-type:application/json' -d '{"delete": {"query":"id:[* TO 1730887464]"}}'

我不经常使用 json,所以不确定“查询”部分是否正确……但我想你明白我的意思

关于search - 无法在 SOLR 中按范围删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10888483/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com