lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Scott Stults (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (SOLR-7495) Unexpected docvalues type NUMERIC when grouping by a int facet
Date Mon, 09 Jan 2017 21:22:00 GMT

    [ https://issues.apache.org/jira/browse/SOLR-7495?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15812880#comment-15812880
] 

Scott Stults commented on SOLR-7495:
------------------------------------

[~rcmuir] added that line at the same time as the Insanity wrapper itself as part of LUCENE-5666,
but I'll take a crack at an explanation. There's only a couple of cases outlined Insanity
where we need to wrap the field, essentially returning null instead of the docValues. When
the collector returns null the stored values of the field are used instead of docValues. Since
stored values are slower than docValues we only want to wrap the particular field type that's
problematic. 

> Unexpected docvalues type NUMERIC when grouping by a int facet
> --------------------------------------------------------------
>
>                 Key: SOLR-7495
>                 URL: https://issues.apache.org/jira/browse/SOLR-7495
>             Project: Solr
>          Issue Type: Bug
>    Affects Versions: 5.0, 5.1, 5.2, 5.3
>            Reporter: Fabio Batista da Silva
>            Assignee: Dennis Gove
>             Fix For: 6.4
>
>         Attachments: SOLR-7495.patch, SOLR-7495.patch, SOLR-7495.patch
>
>
> Hey All,
> After upgrading from solr 4.10 to 5.1 with solr could
> I'm getting a IllegalStateException when i try to facet a int field.
> IllegalStateException: unexpected docvalues type NUMERIC for field 'year' (expected=SORTED).
Use UninvertingReader or index with docvalues.
> schema.xml
> {code}
> <?xml version="1.0" ?>
> <schema name="schema" version="1.2">
>     <fields>
>         <!-- solar cloud version field -->
>         <field name="_version_" type="long" indexed="true" stored="true"/>
>         <!-- Common fields -->
>         <field name="id" type="string" indexed="true" stored="true"  multiValued="false"
required="true"/>
>         <field name="index_type" type="string" indexed="true"  stored="true"  multiValued="false"
required="true"/>
>         <field name="year" type="int" indexed="true" stored="true"/>
>         <field name="model" type="string" indexed="true" stored="true"/>
>         <field name="year_make_model" type="string" indexed="true" stored="true"/>
>     </fields>
>     <!-- Field Types -->
>     <types>
>         <fieldType name="string" class="solr.StrField" sortMissingLast="true" />
>         <fieldType name="boolean" class="solr.BoolField" sortMissingLast="true"/>
>         <fieldType name="int" class="solr.TrieIntField" precisionStep="0" positionIncrementGap="0"/>
>         <fieldType name="float" class="solr.TrieFloatField" precisionStep="0" positionIncrementGap="0"/>
>         <fieldType name="long" class="solr.TrieLongField" precisionStep="0" positionIncrementGap="0"/>
>         <fieldType name="double" class="solr.TrieDoubleField" precisionStep="0" positionIncrementGap="0"/>
>         <fieldType name="date" class="solr.TrieDateField" precisionStep="0" positionIncrementGap="0"/>
>         <fieldType name="text_ngram" class="solr.TextField" positionIncrementGap="100">
>             <analyzer type="index">
>                 <tokenizer class="solr.StandardTokenizerFactory"/>
>                 <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt"
/>
>                 <filter class="solr.LowerCaseFilterFactory"/>
>                 <filter class="solr.EdgeNGramFilterFactory" minGramSize="2" maxGramSize="15"/>
>             </analyzer>
>             <analyzer type="query">
>                 <tokenizer class="solr.StandardTokenizerFactory"/>
>                 <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt"
/>
>                 <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt"
ignoreCase="true" expand="true"/>
>                 <filter class="solr.LowerCaseFilterFactory"/>
>             </analyzer>
>         </fieldType>
>         <fieldType name="text_general" class="solr.TextField" positionIncrementGap="100">
>             <analyzer type="index">
>                 <tokenizer class="solr.StandardTokenizerFactory"/>
>                 <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt"
/>
>                 <filter class="solr.LowerCaseFilterFactory"/>
>                 <filter class="solr.EdgeNGramFilterFactory" minGramSize="2" maxGramSize="15"/>
>             </analyzer>
>             <analyzer type="query">
>                 <tokenizer class="solr.StandardTokenizerFactory"/>
>                 <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt"
/>
>                 <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt"
ignoreCase="true" expand="true"/>
>                 <filter class="solr.LowerCaseFilterFactory"/>
>             </analyzer>
>         </fieldType>
>         <fieldType name="location_rpt" class="solr.SpatialRecursivePrefixTreeFieldType"
geo="true" distErrPct="0.025" maxDistErr="0.000009" units="degrees" />
>     </types>
>     <uniqueKey>id</uniqueKey>
>     <defaultSearchField>name</defaultSearchField>
>     <solrQueryParser defaultOperator="OR"/>
> </schema>
> {code}
> query :
> {code}
> http://solr.dev:8983/solr/my_collection/select?wt=json&fl=id&fq=index_type:foobar&group=true&group.field=year_make_model&group.facet=true&facet=true&facet.field=year
> {code}
> Exception :
> {code}
> ull:org.apache.solr.common.SolrException: Exception during facet.field: year
>     at org.apache.solr.request.SimpleFacets$3.call(SimpleFacets.java:627)
>     at org.apache.solr.request.SimpleFacets$3.call(SimpleFacets.java:612)
>     at java.util.concurrent.FutureTask.run(FutureTask.java:262)
>     at org.apache.solr.request.SimpleFacets$2.execute(SimpleFacets.java:566)
>     at org.apache.solr.request.SimpleFacets.getFacetFieldCounts(SimpleFacets.java:637)
>     at org.apache.solr.request.SimpleFacets.getFacetCounts(SimpleFacets.java:280)
>     at org.apache.solr.handler.component.FacetComponent.process(FacetComponent.java:106)
>     at org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:222)
>     at org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:143)
>     at org.apache.solr.core.SolrCore.execute(SolrCore.java:1984)
>     at org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:829)
>     at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:446)
>     at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:220)
>     at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1419)
>     at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:455)
>     at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137)
>     at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:557)
>     at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231)
>     at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1075)
>     at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:384)
>     at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193)
>     at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1009)
>     at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)
>     at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:255)
>     at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:154)
>     at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
>     at org.eclipse.jetty.server.Server.handle(Server.java:368)
>     at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:489)
>     at org.eclipse.jetty.server.BlockingHttpConnection.handleRequest(BlockingHttpConnection.java:53)
>     at org.eclipse.jetty.server.AbstractHttpConnection.content(AbstractHttpConnection.java:953)
>     at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.content(AbstractHttpConnection.java:1014)
>     at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:861)
>     at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:240)
>     at org.eclipse.jetty.server.BlockingHttpConnection.handle(BlockingHttpConnection.java:72)
>     at org.eclipse.jetty.server.bio.SocketConnector$ConnectorEndPoint.run(SocketConnector.java:264)
>     at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608)
>     at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543)
>     at java.lang.Thread.run(Thread.java:745)
> Caused by: java.lang.IllegalStateException: unexpected docvalues type NUMERIC for field
'year' (expected=SORTED). Use UninvertingReader or index with docvalues.
>     at org.apache.lucene.index.DocValues.checkField(DocValues.java:208)
>     at org.apache.lucene.index.DocValues.getSorted(DocValues.java:264)
>     at org.apache.lucene.search.grouping.term.TermGroupFacetCollector$SV.doSetNextReader(TermGroupFacetCollector.java:135)
>     at org.apache.lucene.search.SimpleCollector.getLeafCollector(SimpleCollector.java:33)
>     at org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:705)
>     at org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:428)
>     at org.apache.solr.request.SimpleFacets.getGroupedCounts(SimpleFacets.java:532)
>     at org.apache.solr.request.SimpleFacets.getTermCounts(SimpleFacets.java:458)
>     at org.apache.solr.request.SimpleFacets.getTermCounts(SimpleFacets.java:381)
>     at org.apache.solr.request.SimpleFacets$3.call(SimpleFacets.java:621)
>     ... 37 more
> org.apache.solr.client.solrj.impl.HttpSolrClient$RemoteSolrException: Error from server
at http://10.0.2.15:8983/solr/my_collection_shard2_replica1: Exception during facet.field:
year
>     at org.apache.solr.client.solrj.impl.HttpSolrClient.executeMethod(HttpSolrClient.java:556)
>     at org.apache.solr.client.solrj.impl.HttpSolrClient.request(HttpSolrClient.java:233)
>     at org.apache.solr.client.solrj.impl.HttpSolrClient.request(HttpSolrClient.java:225)
>     at org.apache.solr.client.solrj.SolrClient.request(SolrClient.java:1220)
>     at org.apache.solr.handler.component.HttpShardHandler$1.call(HttpShardHandler.java:221)
>     at org.apache.solr.handler.component.HttpShardHandler$1.call(HttpShardHandler.java:184)
>     at java.util.concurrent.FutureTask.run(FutureTask.java:262)
>     at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
>     at java.util.concurrent.FutureTask.run(FutureTask.java:262)
>     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>     at java.lang.Thread.run(Thread.java:745)
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org


Mime
View raw message