Re: FieldCache error for multivalued fields in json facets.

2015-09-21 Thread Vishnu Mishra
Hi I am using solr 5.3 and I have the same problem while doing json facet on
multivalued field. Below is the error stack trace :




2015-09-21 21:26:09,292 ERROR org.apache.solr.core.SolrCore  ?
org.apache.solr.common.SolrException: can not use FieldCache on multivalued
field: FLAG
at
org.apache.solr.schema.SchemaField.checkFieldCacheSource(SchemaField.java:187)
at
org.apache.solr.schema.TrieField.getValueSource(TrieField.java:231)
at
org.apache.solr.search.FunctionQParser.parseValueSource(FunctionQParser.java:378)
at
org.apache.solr.search.FunctionQParser.parseValueSource(FunctionQParser.java:235)
at
org.apache.solr.search.ValueSourceParser$79.parse(ValueSourceParser.java:845)
at
org.apache.solr.search.FunctionQParser.parseAgg(FunctionQParser.java:414)
at
org.apache.solr.search.facet.FacetParser.parseStringStat(FacetRequest.java:272)
at
org.apache.solr.search.facet.FacetParser.parseStringFacetOrStat(FacetRequest.java:265)
at
org.apache.solr.search.facet.FacetParser.parseFacetOrStat(FacetRequest.java:199)
at
org.apache.solr.search.facet.FacetParser.parseSubs(FacetRequest.java:179)
at
org.apache.solr.search.facet.FacetTopParser.parse(FacetRequest.java:427)
at
org.apache.solr.search.facet.FacetTopParser.parse(FacetRequest.java:416)
at
org.apache.solr.search.facet.FacetModule.prepare(FacetModule.java:125)
at
org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:251)
at
org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:143)
at org.apache.solr.core.SolrCore.execute(SolrCore.java:2068)
at
org.apache.solr.servlet.HttpSolrCall.execute(HttpSolrCall.java:669)
at org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:462)
at
org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:210)
at
org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:179)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:142)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
at
org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:617)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:518)
at
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1091)
at
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:668)
at
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1521)
at
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1478)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown
Source)
at
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Unknown Source)




--
View this message in context: 
http://lucene.472066.n3.nabble.com/FieldCache-error-for-multivalued-fields-in-json-facets-tp4216995p4230304.html
Sent from the Solr - User mailing list archive at Nabble.com.


Re: FieldCache error for multivalued fields in json facets.

2015-07-14 Thread Iana Bondarska
Yonik, Upayavira,
thanks for response. Here is the stacktrace from solr logs.
I can make my field single valued, but are there any plans to fix this or
in general mulitvalued fields should not be used for metric calculation ?
what about other metrics, e.g. avg, min,max -- should I be able to
calculate them on multivalued fields?

org.apache.solr.common.SolrException: can not use FieldCache on
multivalued field: sales
at 
org.apache.solr.schema.SchemaField.checkFieldCacheSource(SchemaField.java:187)
at org.apache.solr.schema.TrieField.getValueSource(TrieField.java:236)
at 
org.apache.solr.search.FunctionQParser.parseValueSource(FunctionQParser.java:378)
at 
org.apache.solr.search.FunctionQParser.parseValueSource(FunctionQParser.java:235)
at 
org.apache.solr.search.ValueSourceParser$79.parse(ValueSourceParser.java:832)
at 
org.apache.solr.search.FunctionQParser.parseAgg(FunctionQParser.java:414)
at 
org.apache.solr.search.facet.FacetParser.parseStringStat(FacetRequest.java:522)
at 
org.apache.solr.search.facet.FacetParser.parseStringFacetOrStat(FacetRequest.java:515)
at 
org.apache.solr.search.facet.FacetParser.parseFacetOrStat(FacetRequest.java:449)
at 
org.apache.solr.search.facet.FacetParser.parseSubs(FacetRequest.java:429)
at 
org.apache.solr.search.facet.FacetFieldParser.parse(FacetRequest.java:728)
at 
org.apache.solr.search.facet.FacetParser.parseFieldFacet(FacetRequest.java:500)
at 
org.apache.solr.search.facet.FacetParser.parseFacetOrStat(FacetRequest.java:486)
at 
org.apache.solr.search.facet.FacetParser.parseFacetOrStat(FacetRequest.java:479)
at 
org.apache.solr.search.facet.FacetParser.parseSubs(FacetRequest.java:429)
at 
org.apache.solr.search.facet.FacetTopParser.parse(FacetRequest.java:646)
at 
org.apache.solr.search.facet.FacetTopParser.parse(FacetRequest.java:635)
at 
org.apache.solr.search.facet.FacetModule.prepare(FacetModule.java:125)
at 
org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:229)
at 
org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:143)
at org.apache.solr.core.SolrCore.execute(SolrCore.java:2064)
at org.apache.solr.servlet.HttpSolrCall.execute(HttpSolrCall.java:654)
at org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:450)
at 
org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:227)
at 
org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:196)
at 
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
at 
org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:585)
at 
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
at 
org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:577)
at 
org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:223)
at 
org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1127)
at 
org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515)
at 
org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
at 
org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1061)
at 
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
at 
org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:215)
at 
org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:110)
at 
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)
at org.eclipse.jetty.server.Server.handle(Server.java:497)
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:310)
at 
org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257)
at 
org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:540)
at 
org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635)
at 
org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555)
at java.lang.Thread.run(Thread.java:745)


2015-07-13 19:24 GMT+03:00 Yonik Seeley :

> On Mon, Jul 13, 2015 at 1:55 AM, Iana Bondarska 
> wrote:
> > Hi,
> > I'm using json query api for solr 5.2. When query for metrics for
> > multivalued fields, I get error:
> > can not use FieldCache on multivalued field: sales.
> >
> > I've found in solr wiki that to avoid using fieldcache I should set
> > facet.method parameter to "enum".
> > Now my question is how can I add facet.enum parameter to query?
> > My original query looks like this:
> >
> {"limit":0,"offset":0,"facet":{"facet":{"facet":{"mechanicnumbers_sum":"sum(sales)"},"

Re: FieldCache error for multivalued fields in json facets.

2015-07-13 Thread Yonik Seeley
On Mon, Jul 13, 2015 at 1:55 AM, Iana Bondarska  wrote:
> Hi,
> I'm using json query api for solr 5.2. When query for metrics for
> multivalued fields, I get error:
> can not use FieldCache on multivalued field: sales.
>
> I've found in solr wiki that to avoid using fieldcache I should set
> facet.method parameter to "enum".
> Now my question is how can I add facet.enum parameter to query?
> My original query looks like this:
> {"limit":0,"offset":0,"facet":{"facet":{"facet":{"mechanicnumbers_sum":"sum(sales)"},"limit":0,"field":"brand","type":"terms"}}}

sum(field) is currently only implemented for single-valued numeric fields.
Can you make the sales field single-valued, or do you actually need
multiple values per document?

-Yonik


Re: FieldCache error for multivalued fields in json facets.

2015-07-13 Thread Upayavira


On Mon, Jul 13, 2015, at 06:55 AM, Iana Bondarska wrote:
> Hi,
> I'm using json query api for solr 5.2. When query for metrics for
> multivalued fields, I get error:
> can not use FieldCache on multivalued field: sales.
> 
> I've found in solr wiki that to avoid using fieldcache I should set
> facet.method parameter to "enum".
> Now my question is how can I add facet.enum parameter to query?
> My original query looks like this:
> {"limit":0,"offset":0,"facet":{"facet":{"facet":{"mechanicnumbers_sum":"sum(sales)"},"limit":0,"field":"brand","type":"terms"}}}
> 
> Adding method:enum inside facet doesn't help. Adding facet.method=enum
> outside json parameter also doesn't help.

Can you provide the whole exception, including stack trace? This looks
like a bug to me, as it should switch to using the FieldValueCache for
multivalued fields rather than fail to use the FieldCache.

Upayavira