/**
* 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 docs = new HashSet();
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 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)