Hi all,
I used the sample code given below and tried to run with all the relevant jars. I receive the exception written below. package test.general; import org.apache.solr.client.solrj.SolrServer; import org.apache.solr.client.solrj.SolrServerException; import org.apache.solr.client.solrj.SolrQuery; import org.apache.solr.client.solrj.response.UpdateResponse; import org.apache.solr.client.solrj.response.QueryResponse; import org.apache.solr.client.solrj.response.FacetField; import org.apache.solr.client.solrj.impl.CommonsHttpSolrServer; import org.apache.solr.common.SolrInputDocument; import org.apache.solr.common.params.SolrParams; import java.io.IOException; import java.util.Collection; import java.util.HashSet; import java.util.Random; import java.util.List; /** * Connect to Solr and issue a query */ public class SolrJExample { public static final String [] CATEGORIES = {"a", "b", "c", "d"}; public static void main(String[] args) throws IOException, SolrServerException { SolrServer server = new CommonsHttpSolrServer("http://localhost:8080/solr/update"); Random rand = new Random(); //Index some documents Collection<SolrInputDocument> docs = new HashSet<SolrInputDocument>(); for (int i = 0; i < 10; i++) { SolrInputDocument doc = new SolrInputDocument(); doc.addField("link", "http://non-existent-url.foo/" + i + ".html"); doc.addField("source", "Blog #" + i); doc.addField("source-link", "http://non-existent-url.foo/index.html"); doc.addField("subject", "Subject: " + i); doc.addField("title", "Title: " + i); doc.addField("content", "This is the " + i + "(th|nd|rd) piece of content."); doc.addField("category", CATEGORIES[rand.nextInt(CATEGORIES.length)]); doc.addField("rating", i); System.out.println("Doc[" + i + "] is " + doc); docs.add(doc); } UpdateResponse response = server.add(docs); System.out.println("Response: " + response); //Make the documents available for search server.commit(); //create the query SolrQuery query = new SolrQuery("content:piece"); //indicate we want facets query.setFacet(true); //indicate what field to facet on query.addFacetField("category"); //we only want facets that have at least one entry query.setFacetMinCount(1); //run the query QueryResponse results = server.query(query); System.out.println("Query Results: " + results); //print out the facets List<FacetField> facets = results.getFacetFields(); for (FacetField facet : facets) { System.out.println("Facet:" + facet); } } } The exception : Exception in thread "main" java.lang.ClassCastException: java.lang.Long cannot be cast to org.apache.solr.common.util.NamedList at org.apache.solr.common.util.NamedListCodec.unmarshal(NamedListCodec.java:89) at org.apache.solr.client.solrj.impl.BinaryResponseParser.processResponse(Binar yResponseParser.java:39) at org.apache.solr.client.solrj.impl.CommonsHttpSolrServer.request(CommonsHttpS olrServer.java:385) at org.apache.solr.client.solrj.impl.CommonsHttpSolrServer.request(CommonsHttpS olrServer.java:183) at org.apache.solr.client.solrj.request.UpdateRequest.process(UpdateRequest.jav a:217) at org.apache.solr.client.solrj.SolrServer.add(SolrServer.java:48) at test.general.SolrJExample.main(SolrJExample.java:48) Can someone help me out. Regards, Sajith Vimukthi Weerakoon Associate Software Engineer | ZONE24X7 | Tel: +94 11 2882390 ext 101 | Fax: +94 11 2878261 | http://www.zone24x7.com