[ https://issues.apache.org/jira/browse/SOLR-4389?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Colin Bartolome updated SOLR-4389: ---------------------------------- Description: When using a CloudSolrServer instance to server MoreLikeThis queries, using the workaround mentioned in SOLR-1085, the server serves all queries using the collection specified by the first query, instead of using the one specified by the current query. Example code: {code:java} import java.net.MalformedURLException; import org.apache.solr.client.solrj.*; import org.apache.solr.client.solrj.impl.CloudSolrServer; import org.apache.solr.client.solrj.request.QueryRequest; import org.apache.solr.common.params.*; public class MoreLikeThisTest { public static void main(String[] args) throws MalformedURLException, SolrServerException { CloudSolrServer server = new CloudSolrServer("zookeeper1:2181"); server.connect(); doMoreLikeThisQuery(server, "collection1"); doMoreLikeThisQuery(server, "collection2"); } private static void doMoreLikeThisQuery(SolrServer server, String collection) throws SolrServerException { SolrQuery solrQuery = new SolrQuery(); solrQuery.set(CoreAdminParams.COLLECTION, collection); solrQuery.setRequestHandler("/" + MoreLikeThisParams.MLT); solrQuery.set(MoreLikeThisParams.SIMILARITY_FIELDS, "title"); solrQuery.setQuery("id:1234"); QueryRequest queryRequest = new QueryRequest(solrQuery, SolrRequest.METHOD.POST); queryRequest.process(server); } } {code} Running this code results in two of my servers serving these requests: {noformat} INFO: [collection1] webapp=/solr path=/mlt params={fl=id&mlt.fl=title&q=id:1234&collection=collection1&qt=/mlt&wt=javabin&version=2} status=0 QTime=0 INFO: [collection1] webapp=/solr path=/mlt params={fl=id&mlt.fl=title&q=id:1234&collection=collection2&qt=/mlt&wt=javabin&version=2} status=0 QTime=1 {noformat} The first collection serves both requests, meaning the second request will just about always return no results. was: When using a CloudSolrServer instance to server MoreLikeThis queries, using the workaround mentioned in SOLR-1085, the server serves all queries using the collection specified by the first query, instead of using the one specified by the current query. Example code: import java.net.MalformedURLException; import org.apache.solr.client.solrj.*; import org.apache.solr.client.solrj.impl.CloudSolrServer; import org.apache.solr.client.solrj.request.QueryRequest; import org.apache.solr.common.params.*; public class MoreLikeThisTest { public static void main(String[] args) throws MalformedURLException, SolrServerException { CloudSolrServer server = new CloudSolrServer("zookeeper1:2181"); server.connect(); doMoreLikeThisQuery(server, "collection1"); doMoreLikeThisQuery(server, "collection2"); } private static void doMoreLikeThisQuery(SolrServer server, String collection) throws SolrServerException { SolrQuery solrQuery = new SolrQuery(); solrQuery.set(CoreAdminParams.COLLECTION, collection); solrQuery.setRequestHandler("/" + MoreLikeThisParams.MLT); solrQuery.set(MoreLikeThisParams.SIMILARITY_FIELDS, "title"); solrQuery.setQuery("id:1234"); QueryRequest queryRequest = new QueryRequest(solrQuery, SolrRequest.METHOD.POST); queryRequest.process(server); } } Running this code results in two of my servers serving these requests: INFO: [collection1] webapp=/solr path=/mlt params={fl=id&mlt.fl=title&q=id:1234&collection=collection1&qt=/mlt&wt=javabin&version=2} status=0 QTime=0 INFO: [collection1] webapp=/solr path=/mlt params={fl=id&mlt.fl=title&q=id:1234&collection=collection2&qt=/mlt&wt=javabin&version=2} status=0 QTime=1 The first collection serves both requests, meaning the second request will just about always return no results. > CloudSolrServer serves all MoreLikeThis queries from the same collection > ------------------------------------------------------------------------ > > Key: SOLR-4389 > URL: https://issues.apache.org/jira/browse/SOLR-4389 > Project: Solr > Issue Type: Bug > Components: clients - java > Affects Versions: 4.0 > Reporter: Colin Bartolome > > When using a CloudSolrServer instance to server MoreLikeThis queries, using > the workaround mentioned in SOLR-1085, the server serves all queries using > the collection specified by the first query, instead of using the one > specified by the current query. > Example code: > {code:java} > import java.net.MalformedURLException; > import org.apache.solr.client.solrj.*; > import org.apache.solr.client.solrj.impl.CloudSolrServer; > import org.apache.solr.client.solrj.request.QueryRequest; > import org.apache.solr.common.params.*; > public class MoreLikeThisTest > { > public static void main(String[] args) > throws MalformedURLException, SolrServerException > { > CloudSolrServer server = new CloudSolrServer("zookeeper1:2181"); > > server.connect(); > > doMoreLikeThisQuery(server, "collection1"); > doMoreLikeThisQuery(server, "collection2"); > } > > private static void doMoreLikeThisQuery(SolrServer server, String > collection) > throws SolrServerException > { > SolrQuery solrQuery = new SolrQuery(); > > solrQuery.set(CoreAdminParams.COLLECTION, collection); > solrQuery.setRequestHandler("/" + MoreLikeThisParams.MLT); > solrQuery.set(MoreLikeThisParams.SIMILARITY_FIELDS, "title"); > solrQuery.setQuery("id:1234"); > > QueryRequest queryRequest = new QueryRequest(solrQuery, > SolrRequest.METHOD.POST); > > queryRequest.process(server); > } > } > {code} > Running this code results in two of my servers serving these requests: > {noformat} > INFO: [collection1] webapp=/solr path=/mlt > params={fl=id&mlt.fl=title&q=id:1234&collection=collection1&qt=/mlt&wt=javabin&version=2} > status=0 QTime=0 > INFO: [collection1] webapp=/solr path=/mlt > params={fl=id&mlt.fl=title&q=id:1234&collection=collection2&qt=/mlt&wt=javabin&version=2} > status=0 QTime=1 > {noformat} > The first collection serves both requests, meaning the second request will > just about always return no results. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org