solr:函数使用问题

solr:函数使用问题,solr,Solr,要解决[问题]中描述的问题,请执行以下操作: 我编写了一个函数termcnt(fieldname),它只计算文档中有关指定fieldname的特定术语。 在“solr/Lucene语句”中使用solr管理页()我查询: fq={!frange l=3 u=1000}termcnt(wc_text) 并得到一个错误: type Status report message org.apache.lucene.queryParser.ParseException: Cannot parse 'fq=

要解决[问题]中描述的问题,请执行以下操作: 我编写了一个函数termcnt(fieldname),它只计算文档中有关指定fieldname的特定术语。
在“solr/Lucene语句”中使用solr管理页()我查询:

fq={!frange l=3 u=1000}termcnt(wc_text)
并得到一个错误:

type Status report
message org.apache.lucene.queryParser.ParseException: Cannot parse 'fq={!frange l=3 u=1000}termcnt(wc_text)': Encountered " <RANGEEX_GOOP> "u=1000 "" at line 1, column 16. Was expecting: "}" ...
description The request sent by the client was syntactically incorrect (org.apache.lucene.queryParser.ParseException: Cannot parse 'fq={!frange l=3 u=1000}termcnt(wc_text)': Encountered " <RANGEEX_GOOP> "u=1000 "" at line 1, column 16. Was expecting: "}" ... ).
我的功能正常工作

p.p.S即使使用sum func i也有相同的结果:(

solr 3.2.0
lucene 3.2.0
(来自maven存储库)

堆栈跟踪(根据要求):

2011年7月1日9:33:39 org.apache.solr.common.SolrException日志
严重:org.apache.solr.common.SolrException:org.apache.lucene.queryParser.ParseException:无法分析'fq={!frange l=3 u=100000}termcnt(wc_text)':在第1行第16列遇到“u=100000”。
他期望:
"}" ...
位于org.apache.solr.handler.component.QueryComponent.prepare(QueryComponent.java:108)
位于org.apache.solr.handler.component.SearchHandler.HandlerRequestBody(SearchHandler.java:173)
位于org.apache.solr.handler.RequestHandlerBase.HandlerRequest(RequestHandlerBase.java:129)
位于org.apache.solr.core.SolrCore.execute(SolrCore.java:1360)
位于org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:356)
位于org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:252)
位于org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
位于org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
位于org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240)
位于org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:164)
位于org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:462)
位于org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
位于org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
位于org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:563)
位于org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
位于org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:403)
位于org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:286)
位于org.apache.coyote.http11.http11aprotocol$Http11ConnectionHandler.process(http11aprotocol.java:272)
位于org.apache.tomcat.util.net.aprendop$SocketProcessor.run(aprendop.java:1730)
位于java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
位于java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
运行(Thread.java:662)
原因:org.apache.lucene.queryParser.ParseException:无法分析'fq={!frange l=3 u=100000}termcnt(wc_text)':在第1行第16列遇到“u=100000”。
他期望:
"}" ...
位于org.apache.lucene.queryParser.queryParser.parse(queryParser.java:211)
位于org.apache.solr.search.LuceneQParser.parse(LuceneQParserPlugin.java:80)
位于org.apache.solr.search.QParser.getQuery(QParser.java:142)
位于org.apache.solr.handler.component.QueryComponent.prepare(QueryComponent.java:84)
…还有21个
原因:org.apache.lucene.queryParser.ParseException:在第1行第16列遇到“u=100000”。
他期望:
"}" ...
位于org.apache.lucene.queryParser.queryParser.generateParseException(queryParser.java:1818)
在org.apache.lucene.queryParser.queryParser.jj_消费_令牌(queryParser.java:1700)
位于org.apache.lucene.queryParser.queryParser.Term(queryParser.java:1510)
位于org.apache.lucene.queryParser.queryParser.子句(queryParser.java:1309)
位于org.apache.lucene.queryParser.queryParser.Query(queryParser.java:1266)
位于org.apache.lucene.queryParser.queryParser.TopLevelQuery(queryParser.java:1226)
位于org.apache.lucene.queryParser.queryParser.parse(queryParser.java:206)
…还有24个
2011年7月1日9:33:39 org.apache.solr.core.SolrCore执行
信息:[]webapp=path=/select params={explainOther=&fl=&indent=on&start=0&q=fq%3D{!frange+l%3D3+u%3D100000}termcnt(wc_text)&hl.fl=&qt=&wt=&fq=&rows=10&version=2.2}状态=400 QTime=21

我相信,自编写本文档以来,界面已经发生了一些变化——但是您的查询

fq={!frange l=3 u=1000}sum(2,3)
似乎写得正确。您可以尝试对其进行url编码,如

fq=%7B!frange+l%3D3+u%3D1000%7Dsum(2%2C3)

但是我感觉这个问题只通过更新版本的Solr和管理面板就解决了。

在请求QueryParser异常时,提供stacktrace是很有用的。我面临着同样的问题,你能解决这个问题吗?
1 jul 2011 9:33:39 org.apache.solr.common.SolrException log
SEVERE: org.apache.solr.common.SolrException: org.apache.lucene.queryParser.ParseException:   Cannot parse 'fq={!frange l=3 u=100000}termcnt(wc_text)': Encountered " <RANGEEX_GOOP> "u=100000 "" at line 1, column 16.
Was expecting:
"}" ...

at org.apache.solr.handler.component.QueryComponent.prepare(QueryComponent.java:108)
at org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:173)
at org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:129)
at org.apache.solr.core.SolrCore.execute(SolrCore.java:1360)
at org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:356)
at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:252)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:164)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:462)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:563)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:403)
at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:286)
at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:272)
at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:1730)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
Caused by: org.apache.lucene.queryParser.ParseException: Cannot parse 'fq={!frange l=3 u=100000}termcnt(wc_text)': Encountered " <RANGEEX_GOOP> "u=100000 "" at line 1, column 16.
Was expecting:
"}" ...

at org.apache.lucene.queryParser.QueryParser.parse(QueryParser.java:211)
at org.apache.solr.search.LuceneQParser.parse(LuceneQParserPlugin.java:80)
at org.apache.solr.search.QParser.getQuery(QParser.java:142)
at org.apache.solr.handler.component.QueryComponent.prepare(QueryComponent.java:84)
... 21 more
Caused by: org.apache.lucene.queryParser.ParseException: Encountered " <RANGEEX_GOOP> "u=100000 "" at line 1, column 16.
Was expecting:
"}" ...

at org.apache.lucene.queryParser.QueryParser.generateParseException(QueryParser.java:1818)
at org.apache.lucene.queryParser.QueryParser.jj_consume_token(QueryParser.java:1700)
at org.apache.lucene.queryParser.QueryParser.Term(QueryParser.java:1510)
at org.apache.lucene.queryParser.QueryParser.Clause(QueryParser.java:1309)
at org.apache.lucene.queryParser.QueryParser.Query(QueryParser.java:1266)
at org.apache.lucene.queryParser.QueryParser.TopLevelQuery(QueryParser.java:1226)
at org.apache.lucene.queryParser.QueryParser.parse(QueryParser.java:206)
... 24 more

1 jul 2011 9:33:39 org.apache.solr.core.SolrCore execute
INFO: [] webapp= path=/select params={explainOther=&fl=&indent=on&start=0&q=fq%3D{!frange+l%3D3+u%3D100000}termcnt(wc_text)&hl.fl=&qt=&wt=&fq=&rows=10&version=2.2} status=400 QTime=21 
fq={!frange l=3 u=1000}sum(2,3)
fq=%7B!frange+l%3D3+u%3D1000%7Dsum(2%2C3)