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

Erick Erickson commented on SOLR-7351:
--------------------------------------

Hmmm, throwing this error isn't very helpful I'll agree. Though does MLT even 
work on non-text fields? Not quite sure what MLT on a date field _should_ 
return on numeric types (which dates really are). To me the most "natural" 
interpretation would be some kind of numeric comparison, which you can already 
do with a range query.

Even so, catching this up-front and returning a more helpful error like "MLT 
only supported for text fields" would be better.

This appears to be a dup of SOLR-4860, I'll link it in a bit.

> MoreLikeThis component doesn't work with dates
> ----------------------------------------------
>
>                 Key: SOLR-7351
>                 URL: https://issues.apache.org/jira/browse/SOLR-7351
>             Project: Solr
>          Issue Type: Bug
>          Components: MoreLikeThis
>    Affects Versions: 5.0
>            Reporter: Bogdan Marinescu
>            Priority: Critical
>
> A simple query on an index which has a TrieDate (at least this is my date 
> type)
> {code}
> <dynamicField name="*_dt"  type="date"    indexed="true"  stored="true" />
> ...
> <fieldType name="date" class="solr.TrieDateField" precisionStep="0" 
> positionIncrementGap="0"/>
> {code}
> Query for:
> http://localhost:8983/solr/tj13/select?q=testDate_dt%3A%221948-09-28T22%3A00%3A00Z%22&wt=json&indent=true&mlt=true&mlt.fl=testDate_dt
> results in:
> {code}
> ERROR - 2015-04-06 08:36:52.059; org.apache.solr.common.SolrException; 
> org.apache.solr.common.SolrException: Invalid Date String:'-670816800000'
>         at 
> org.apache.solr.schema.TrieDateField.parseMath(TrieDateField.java:150)
>         at 
> org.apache.solr.schema.TrieField.readableToIndexed(TrieField.java:436)
>         at 
> org.apache.solr.schema.TrieField.readableToIndexed(TrieField.java:414)
>         at org.apache.solr.schema.TrieField.toInternal(TrieField.java:449)
>         at 
> org.apache.solr.schema.FieldType$DefaultAnalyzer$1.incrementToken(FieldType.java:484)
>         at 
> org.apache.lucene.queries.mlt.MoreLikeThis.addTermFrequencies(MoreLikeThis.java:822)
>         at 
> org.apache.lucene.queries.mlt.MoreLikeThis.retrieveTerms(MoreLikeThis.java:745)
>         at 
> org.apache.lucene.queries.mlt.MoreLikeThis.like(MoreLikeThis.java:586)
>         at 
> org.apache.solr.handler.MoreLikeThisHandler$MoreLikeThisHelper.getMoreLikeThis(MoreLikeThisHandler.java:374)
>         at 
> org.apache.solr.handler.component.MoreLikeThisComponent.getMoreLikeThese(MoreLikeThisComponent.java:370)
>         at 
> org.apache.solr.handler.component.MoreLikeThisComponent.process(MoreLikeThisComponent.java:123)
>         at 
> org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:227)
>         at 
> org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:144)
>         at org.apache.solr.core.SolrCore.execute(SolrCore.java:2006)
>         at 
> org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:777)
>         at 
> org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:413)
>         at 
> org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:204)
>         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.headerComplete(AbstractHttpConnection.java:942)
>         at 
> org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:1004)
>         at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:640)
>         at 
> org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235)
>         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)
> {code}
> I think it's weird that solr has the correct date, gives a long to the 
> MoreLikeThis component and when the tokenizer tries to parse the date it 
> throws an exception.



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

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to