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


FieldCache error for multivalued fields in json facets.

2015-07-12 Thread Iana Bondarska
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.

Best Regards,
Iana