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

Yonik Seeley commented on SOLR-2824:
------------------------------------

bq. 1) should local params from the '{!join...}' expression (besides from,to, 
and fromIndex) be passed to the QParser fetched from the fromIndex ?

defType is the only local param that would have an impact on the foreign 
qparser.
But... all the request parameters should be available to the foreign qparser.

b1. 2) Are there other bugs lurking in JoinQuery itself that need better 
cross-index testing? In particular the JoinQuery.rewrite method smells fishy.

Yep!
                
> Cross-Core Join doesn't parse fields against joining schema
> -----------------------------------------------------------
>
>                 Key: SOLR-2824
>                 URL: https://issues.apache.org/jira/browse/SOLR-2824
>             Project: Solr
>          Issue Type: Bug
>          Components: multicore, search
>    Affects Versions: 4.0
>            Reporter: Thijs Vonk
>         Attachments: SOLR-2824.patch
>
>
> I have two cores with 2 different schema's
> now I want to join between the 2 cores. where I filter on a field from one 
> core that doesn't exist in the other core.
> core1: {childIds, name, id}, core2:{id, type, specials}
> I have the following query
> /core1/select?q=*:*&fq={!join from=id to=childIds 
> fromIndex=core2}specials:1&fl=id,name
> I get this exception [1]
> Looking at the debugger I see that
>     at 
> org.apache.solr.search.JoinQParserPlugin$1.parse(JoinQParserPlugin.java:60)
> the parse is called  for the filterquery on the main core (core1). Not the 
> core of the 'fromIndex' (core2) 
> [1]
> SEVERE: org.apache.solr.common.SolrException: undefined field specials
>         at 
> org.apache.solr.schema.IndexSchema.getDynamicFieldType(IndexSchema.java:1028)
>         at 
> org.apache.solr.schema.IndexSchema$SolrQueryAnalyzer.getWrappedAnalyzer(IndexSchema.java:335)
>         at 
> org.apache.lucene.analysis.AnalyzerWrapper.createComponents(AnalyzerWrapper.java:71)
>         at org.apache.lucene.analysis.Analyzer.tokenStream(Analyzer.java:83)
>         at 
> org.apache.lucene.queryparser.classic.QueryParserBase.newFieldQuery(QueryParserBase.java:476)
>         at 
> org.apache.lucene.queryparser.classic.QueryParserBase.getFieldQuery(QueryParserBase.java:464)
>         at 
> org.apache.solr.search.SolrQueryParser.getFieldQuery(SolrQueryParser.java:134)
>         at 
> org.apache.lucene.queryparser.classic.QueryParserBase.handleBareTokenQuery(QueryParserBase.java:1052)
>         at 
> org.apache.lucene.queryparser.classic.QueryParser.Term(QueryParser.java:358)
>         at 
> org.apache.lucene.queryparser.classic.QueryParser.Clause(QueryParser.java:257)
>         at 
> org.apache.lucene.queryparser.classic.QueryParser.Query(QueryParser.java:181)
>         at 
> org.apache.lucene.queryparser.classic.QueryParser.TopLevelQuery(QueryParser.java:170)
>         at 
> org.apache.lucene.queryparser.classic.QueryParserBase.parse(QueryParserBase.java:118)
>         at 
> org.apache.solr.search.LuceneQParser.parse(LuceneQParserPlugin.java:74)
>         at org.apache.solr.search.QParser.getQuery(QParser.java:143)
>         at 
> org.apache.solr.search.JoinQParserPlugin$1.parse(JoinQParserPlugin.java:60)
>         at org.apache.solr.search.QParser.getQuery(QParser.java:143)
>         at 
> org.apache.solr.handler.component.QueryComponent.prepare(QueryComponent.java:138)
>         at 
> org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:180)
>         at 
> org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:129)
>         at org.apache.solr.core.SolrCore.execute(SolrCore.java:1452)
>         at 
> org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:353)
>         at 
> org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:248)
>         at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
>         at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>         at 
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
>         at 
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
>         at 
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
>         at 
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
>         at 
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
>         at 
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
>         at 
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
>         at 
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
>         at 
> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
>         at java.lang.Thread.run(Thread.java:662)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

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

Reply via email to