import java.net.MalformedURLException;
import java.util.Iterator;
import java.util.List;
import org.apache.solr.client.solrj.SolrQuery;
import org.apache.solr.client.solrj.SolrServerException;
import org.apache.solr.client.solrj.impl.HttpSolrServer;
import org.apache.solr.client.solrj.impl.XMLResponseParser;
import org.apache.solr.client.solrj.response.QueryResponse;
import org.apache.solr.common.SolrDocument;
public class SolrSearchManager {
/**
* standard query
*
* @param args
* @throws MalformedURLException
*/
public static void main(String args[]) throws MalformedURLException {
HttpSolrServer server = new HttpSolrServer("http://localhost:8080/solr");
server.setSoTimeout(1000); // socket read timeout
server.setConnectionTimeout(100);
server.setDefaultMaxConnectionsPerHost(100);
server.setMaxTotalConnections(100);
server.setFollowRedirects(false); // defaults to false
// Server side must support gzip or deflate for this to have any effect.
server.setAllowCompression(true);
server.setMaxRetries(1); // defaults to 0. > 1 not recommended.
server.setParser(new XMLResponseParser()); // binary parser is used by
// default
SolrQuery query = new SolrQuery();
query.setQuery("*:*");
query.addSortField("id", SolrQuery.ORDER.asc);
try {
QueryResponse queryResponse = server.query(query);
// SolrDocumentList docs = rsp.getResults();
Iterator<SolrDocument> iter = queryResponse.getResults().iterator();
while (iter.hasNext()) {
SolrDocument resultDoc = iter.next();
String id = (String) resultDoc.getFieldValue("id"); // id is the
// uniqueKey
String name = resultDoc.getFieldValue("text_cn") == null ? "" : (String) resultDoc.getFieldValue("text_cn"); // field
System.out.println("name...." + name);
// if (queryResponse.getHighlighting().get(id) != null) {
// List<String> highlightSnippets = queryResponse
// .getHighlighting().get(id).get("content");
// }
}
} catch (SolrServerException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
|