solr java 学习3 基本查询

来源:互联网 发布:数据库创建索引规则 编辑:程序博客网 时间:2024/06/16 09:22
package com.finn.solr;import java.io.IOException;import java.util.ArrayList;import java.util.List;import org.apache.solr.client.solrj.SolrClient;import org.apache.solr.client.solrj.SolrQuery;import org.apache.solr.client.solrj.SolrServerException;import org.apache.solr.client.solrj.impl.HttpSolrClient;import org.apache.solr.client.solrj.impl.HttpSolrServer;import org.apache.solr.client.solrj.response.QueryResponse;import org.apache.solr.common.SolrDocument;import org.apache.solr.common.SolrDocumentList;import org.apache.solr.common.SolrInputDocument;public class SolrDemo {public static final String solrServerUrl = "http://localhost:8089/solr";public static QueryResponse rsp;public static HttpSolrClient server; // solrhome下的corepublic static final String solrCroeHome = "new_core";public static final String solrQueryUrl = solrServerUrl+"/"+solrCroeHome;public static void main(String[] args) {//insertSolr();//querySolr();queryParam();}/** * 组合 查询 * 模糊查询  * 范围查询 */static void queryParam(){server = new HttpSolrClient(solrQueryUrl);// 第一种方法//SolrQuery query = new SolrQuery("name:"+"*c*"+" AND id:[15 TO 17]");// 第二种方法SolrQuery query = new SolrQuery();StringBuilder param = new StringBuilder("name:"+"*c*");param.append(" AND id:[10 TO 20]");query.setQuery(param.toString());    try {rsp = server.query(query);  SolrDocumentList results = rsp.getResults();        System.out.println(results.getNumFound());//查询总条数        for(SolrDocument doc:results){            System.out.println(doc);                               }} catch (SolrServerException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}         }/** * 基础 查询 */static void querySolr(){server = new HttpSolrClient(solrQueryUrl);SolrQuery query = new SolrQuery("*");//         query.setStart(0);//起始页//         query.setRows(3);//每页显示数量try {rsp = server.query( query );SolrDocumentList results = rsp.getResults();        System.out.println(results.getNumFound());//查询总条数        for(SolrDocument doc:results){            System.out.println(doc);                               }} catch (SolrServerException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}         }public static void insertSolr(){SolrClient client = getSolrClient();List<SolrInputDocument> solrDocs = new ArrayList<SolrInputDocument>();for(int i=30;i<80;i++){SolrInputDocument doc = new SolrInputDocument();doc.addField("id", i);doc.addField("name", "那好差点迟到啊的得到");doc.addField("age", i);solrDocs.add(doc);}try {client.add(solrDocs);client.commit();} catch (SolrServerException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}public static SolrClient getSolrClient() {return new HttpSolrClient(solrServerUrl + "/" + solrCroeHome);}}

0 0
原创粉丝点击