package test;
import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;
import java.util.Iterator;
import java.util.Map;
import java.util.Scanner;
import org.apache.solr.client.solrj.SolrQuery;
import org.apache.solr.client.solrj.SolrServerException;
import org.apache.solr.client.solrj.impl.CommonsHttpSolrServer;
import org.apache.solr.client.solrj.response.QueryResponse;
import org.apache.solr.common.SolrDocument;
import org.apache.solr.common.SolrDocumentList;
public class QueryServer {
//代替手动查询
public static void queryshop(String str) throws SolrServerException, IOException, URISyntaxException{
//"shopStatus:0"
String url = "http://10.27.23.68:9080/solr/shop";
CommonsHttpSolrServer server = new CommonsHttpSolrServer(url);
server.setSoTimeout(3000); // socket read timeout
server.setConnectionTimeout(1000);
server.setDefaultMaxConnectionsPerHost(1000);
server.setMaxTotalConnections(10);
server.setFollowRedirects(false); // defaults to false
server.setAllowCompression(true);
server.setMaxRetries(1);
SolrQuery query = new SolrQuery();
query.setQuery(str);
// query.addField("shopId");//查看域
query.setStart(0);
query.setRows(4);
query.addSortField("shopId", SolrQuery.ORDER.desc);
//query打印 //q=shopStatus%3A0&fl=shopId&start=0&rows=4&sort=shopId+desc
System.out.println(">>>>>>>>>>>>>>>>...."+query);
QueryResponse qrsp = server.query(query);
openBrower(url+"/select/?"+query);
SolrDocumentList docs = qrsp.getResults();
for(SolrDocument doc : docs){
Map<String, Object> docMap = doc.getFieldValueMap();
System.out.println(docMap);
// String supplyId= String.valueOf(docMap.get("supplyId"));
// dto.setSupplyId(supplyId);
}
// SolrDocumentList documents = s.queryDoc();
Iterator<SolrDocument> it = docs.iterator();
while (it.hasNext()) {
System.out.println(it.next());
}
}
public static void main(String[] args) throws SolrServerException, IOException, URISyntaxException {
Scanner s = new Scanner(System.in); //receive string
//shopStatus:0
System.out.println("Input like this ——> Term:value");
String str = s.next();
queryshop(str);
}
public static void openBrower(String str) throws URISyntaxException, IOException{
/**
* 打开页面查看
*/
//http://10.27.23.68:9080/solr/shop/select/?q=*%3A*&version=2.2&start=0&rows=10&indent=on
URI uri = new java.net.URI(str);
java.awt.Desktop.getDesktop().browse(uri);
}
}
solr查询 field:value 脚本
最新推荐文章于 2022-12-26 14:38:07 发布