solr在使用solrj操作中的各個操作大全(在solrcores中測試)

jopen 9年前發布 | 7K 次閱讀 Java Solr

    package com.fjsh.SearchJobsFirst;

import java.text.SimpleDateFormat;  
import java.util.Calendar;  
import java.util.Date;  
import java.util.GregorianCalendar;  
import java.util.HashMap;  
import java.util.Iterator;  
import java.util.LinkedHashMap;  
import java.util.List;  
import java.util.Map;  
import java.util.Map.Entry;  

import javax.swing.RepaintManager;  
import javax.swing.text.html.parser.Entity;  

import org.apache.solr.client.solrj.SolrQuery;  
import org.apache.solr.client.solrj.SolrServer;  
import org.apache.solr.client.solrj.SolrServerException;  
import org.apache.solr.client.solrj.impl.HttpSolrServer;  
import org.apache.solr.client.solrj.response.FacetField;  
import org.apache.solr.client.solrj.response.FacetField.Count;  
import org.apache.solr.client.solrj.response.Group;  
import org.apache.solr.client.solrj.response.GroupCommand;  
import org.apache.solr.client.solrj.response.GroupResponse;  
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.params.GroupParams;  
import org.apache.solr.common.params.ModifiableSolrParams;  

[java] view plaincopy

/** 
 * @Project JobsOtherWebSearch 
 * @Package com.fjsh.SearchJobsFirst 
 * @ClassName: SearchJobs  
 * @Author fjsh 
 * @Description: 對solr中的各個功能進行測試 
 * @Date 2014-3-5 下午3:38:09  
 */  

public class SearchJobs {  
    private static String url = "jdbc:sqlserver://192.168.2.106:1433;DatabaseName=JobsOtherweb51jobDB";  
    private static String user = "sa";  
    private static String password = "sa";  
    private String Corenum;  
    public static int JobsId = 219443;// start jobsid  
    public SolrServer solrServer = null;// new  
                                        // HttpSolrServer("http://192.168.2.100:8080/solr/JobsOtherWeb1");  

    // 1、 創建solrserver對象:  
    public SolrServer createSolrServer() {  
        HttpSolrServer solr = null;  
        try {  
            solr = new HttpSolrServer(  
                    "http://192.168.2.106:8080/solr/JobsOtherWeb0");  
            solr.setConnectionTimeout(100);  
            solr.setDefaultMaxConnectionsPerHost(100);  
            solr.setMaxTotalConnections(100);  
        } catch (Exception e) {  
            System.out.println("請檢查tomcat服務器或端口是否開啟!");  
            e.printStackTrace();  
        }  
        return solr;  
    }  

    // 簡單的查詢,取出二十個  
    public void querytop20() {  
        solrServer = createSolrServer();  
        System.out.println("簡單查詢取出前二十個");  
        String dtStart = new SimpleDateFormat("yyyyMMddHHmmssSSS")  
                .format(new Date());  
        System.out.println("開始時間:" + dtStart + "\n");  
        try {  
            SolrQuery query = new SolrQuery();// 查詢  
            query.setQuery("jobsName:計算機");  
            query.setRows(20);  
            SolrDocumentList docs = solrServer.query(query).getResults();  
            for (SolrDocument sd : docs) {  
                System.out.println(sd.getFieldValue("jobsName"));  
                System.out.println(sd.getFieldValue("publishDate"));  
            }  
            solrServer.shutdown();  
            String dtEnd = new SimpleDateFormat("yyyyMMddHHmmssSSS")  
                    .format(new Date());  
            System.out.println(query);  
        } catch (SolrServerException e) {  
            // TODO Auto-generated catch block  
            e.printStackTrace();  
        }  
    }  

    // 刪除索引  
    // 據查詢結果刪除:  
    public void DeleteByQuery() {  
        solrServer = createSolrServer();  
        try {  
            // 刪除所有的索引  
            solrServer.deleteByQuery("jobsName:高級技術支持");  
            solrServer.commit();  
        } catch (Exception e) {  
            e.printStackTrace();  
        }  
    }  

    // 根據索引號刪除索引:  
    public void DeleteByQueryJobsId() {  
        solrServer = createSolrServer();  
        try {  
            solrServer.deleteById("515792");  
            solrServer.commit();  
        } catch (Exception e) {  
            e.printStackTrace();  
        }  
    }  

    // 查詢  
    // SolrJ提供的查詢功能比較強大,可以進行結果中查詢、范圍查詢、排序等。  
    // 補充一下范圍查詢的格式:[star t TO end],start與end是相應數據格式的值的字符串形式,“TO” 一定要保持大寫!  
    /* 
     * field 查詢的字段名稱數組 key 查詢的字段名稱對應的值 start 查詢的起始位置 count 一次查詢出來的數量 sortfield 
     * 需要排序的字段數組 flag 需要排序的字段的排序方式如果為true 升序 如果為false 降序 hightlight 是否需要高亮顯示 
     */  
    public QueryResponse Search(String[] field, String[] key, int start,  
            int count, String[] sortfield, Boolean[] flag, Boolean hightlight) {  
        solrServer = createSolrServer();  
        // 檢測輸入是否合法  
        if (null == field || null == key || field.length != key.length) {  
            return null;  
        }  
        if (null == sortfield || null == flag  
                || sortfield.length != flag.length) {  
            return null;  
        }  

        SolrQuery query = null;  
        try {  
            // 初始化查詢對象  
            query = new SolrQuery(field[0] + ":" + key[0]);  
            for (int i = 0; i < field.length; i++) { query.addFilterQuery(field[i] + ":" + key[i]); } // 設置起始位置與返回結果數 query.setStart(start); query.setRows(count); // 設置排序 for (int i = 0; i < sortfield.length; i++) { if (flag[i]) { query.addSortField(sortfield[i], SolrQuery.ORDER.asc); } else { query.addSortField(sortfield[i], SolrQuery.ORDER.desc); } } // 設置高亮 if (null != hightlight) { query.setHighlight(true); // 開啟高亮組件 query.addHighlightField("jobsName");// 高亮字段 query.setHighlightSimplePre("");// 標記  
                query.setHighlightSimplePost("");  
                query.setHighlightSnippets(1);// 結果分片數,默認為1  
                query.setHighlightFragsize(1000);// 每個分片的最大長度,默認為100  

            }  
        } catch (Exception e) {  
            e.printStackTrace();  
        }  

        QueryResponse rsp = null;  
        try {  
            rsp = solrServer.query(query);  
        } catch (Exception e) {  
            e.printStackTrace();  
            return null;  
        }  
        // 返回查詢結果  
        return rsp;  
    }  

    // Facet的一個應用:自動補全  
    // prefix為前綴,min為最大返回結果數  
    // field需要查詢并返回不全的字段,prefix需要查詢并返回的字段不全值  

    public String[] autoComplete(String field, String prefix, int min) {  
        /*------------第一處標記------------------------*/  
        solrServer = createSolrServer();  
        String words[] = null;  
        StringBuffer sb = new StringBuffer("");  
        SolrQuery query = new SolrQuery(field + ":" + prefix);  
        QueryResponse rsp = new QueryResponse();  
        // Facet為solr中的層次分類查詢  
        /*------------第二處標記:程序從第一處標記執行到這里需要300ms所以將上面的代碼進行實例化最好------------------------*/  
        try {  
            query.setFacet(true);  
            // query.setQuery("*:*");  
            query = new SolrQuery(field + ":" + prefix);  
            query.setFacetPrefix(prefix);  
            query.addFacetField(field);  
            rsp = solrServer.query(query);  
            /*------------第三處標記:程序從第二處標記執行到這里需要200ms但此處很難再進行優化,由于查詢的復雜性------------------------*/  
        } catch (Exception e) {  
            // TODO: handle exception  
            e.printStackTrace();  
            return null;  
        }  
        if (null != rsp) {  
            FacetField ff = rsp.getFacetField(field);  
            ListcountList = ff.getValues();  
            if (null == countList) {  
                return null;  
            }  
            for (int i = 0; i < countList.size(); i++) { String tmp[] = countList.get(i).toString().split(" "); // 排除單個字 if (tmp[0].length() < 2) { continue; } sb.append(tmp[0] + " "); min--; if (min == 0) { break; } } words = sb.toString().split(" "); } else { return null; } return words; } /** * @Author fjsh * @Title SearchGroup * @Description 按group進行查找 * @param QUERY_CONTENT 查詢內容 * @param QUERY_ROWS 查找的數量,默認是10 * @param GROUP true or false 是否按group查詢 * @param GROUP_FIELD 查詢field * @param GROUP_LIMIT The number of results (documents) to return for each group. Defaults to 1 * @Return void * @Throws * @Date 2014-5-7 * 輸出結果的時候,由于定義的數據索引沒有做很好是調整,顯示的結果并不理想,不過此方法可以作為參考 */ public void SearchGroup(String QUERY_CONTENT,int QUERY_ROWS, Boolean GROUP, String GROUP_FIELD,String GROUP_LIMIT) { SolrServer server = createSolrServer(); SolrQuery param = new SolrQuery(); param.setQuery("jobsName:"+QUERY_CONTENT); param.setRows(QUERY_ROWS); param.setParam(GroupParams.GROUP, GROUP); param.setParam(GroupParams.GROUP_FIELD, GROUP_FIELD); param.setParam(GroupParams.GROUP_LIMIT, GROUP_LIMIT); QueryResponse response = null; try { response = server.query(param); } catch (SolrServerException e) { // logger.error(e.getMessage(), e); } Map info = new HashMap();    
         GroupResponse groupResponse = response.getGroupResponse();    
         if(groupResponse != null) {    
             ListgroupList = groupResponse.getValues();    
             for(GroupCommand groupCommand : groupList) {    
                 Listgroups = groupCommand.getValues();    
                 for(Group group : groups) {    
                     info.put(group.getGroupValue(), (int)group.getResult().getNumFound());   
                     System.out.println(group.getGroupValue()+"---"+group.getResult().getNumFound());  
                 }    
             }    
         }    
    }  

    /* 
     * 介紹了一下facet之后,來說說怎么實現facet。facet的實現其實很簡單,主要在搜索參數上帶上就OK。 
     *  
     * facet=on/true #代表開啟facet facet.field=cate #代表要統計的面(分組),比如上面的分類,品牌,可以多次出現 
     * facet.limit =20 #每個分組最多返回條數 facet.mincount = 1 #這個表示分組下某一條目的最小數據量 
     * facet.missing = on/true #統計null的值 facet.method = #默認為fc, fc表示Field Cache 
     * 比如 
     * :http://localhost/product/select/?q=鐵觀音&facet=on&facet.field=category&facet 
     * .field=brand&facet.mincount=1在搜索結果中返回xml的facet結果 
     *  
     *  
     * view sourceprint? 0102  0304  05640648* 071208609 1101112 74131614 131510164* 17418319 2202211* 2212312425*分組名64* 分組內條目,name表示條目,64是統計結果數。 
     *  
     *  
     *  
     *  
     * Date Facet 日期類型的字段在文檔中很常見 , 如商品上市時間 , 貨物出倉時間 , 書籍上架時間等等 . 某些情況下需要針對這些字段進行 
     * Facet. 不過時間字段的取值有無限性 , 用戶往往關心的不是某個時間點而是某個時間段內的查詢統計結果 . Solr 
     * 為日期字段提供了更為方便的查詢統計方式 . 當然 , 字段的類型必須是 DateField( 或其子類型 ). 需要注意的是 , 使用 Date 
     * Facet 時 , 字段名 , 起始時間 , 結束時間 , 時間間隔這 4 個參數都必須提供 . 與 Field Facet 類似 ,Date 
     * Facet 也可以對多個字段進行 Facet. 并且針對每個字段都可以單獨設置參數 . 2.1 facet.date 該參數表示需要進行 Date 
     * Facet 的字段名 , 與 facet.field 一樣 , 該參數可以被設置多次 , 表示對多個字段進行 Date Facet. 2.2 
     * facet.date.start 起始時間 , 時間的一般格式為 ” 1995-12-31T23:59:59Z”, 另外可以使用 
     * ”NOW”,”YEAR”,”MONTH” 等等 , 具體格式可以參考 org.apache.solr.schema. DateField 的 
     * java doc. 2.3 facet.date.end 結束時間 . 2.4 facet.date.gap 時間間隔 . 如果 start 為 
     * 2009-1-1,end 為 2010-1-1.gap 設置為 ”+1MONTH” 表示間隔 1 個月 , 那么將會把這段時間劃分為 12 
     * 個間隔段 . 注意 ”+” 因為是特殊字符所以應該用 ”%2B” 代替 . 2.5 facet.date.hardend 取值可以為 
     * true|false, 默認為 false. 它表示 gap 迭代到 end 處采用何種處理 . 舉例說明 start 為 
     * 2009-1-1,end 為 2009-12-25,gap 為 ”+1MONTH”,hardend 為 false 的話最后一個時間段為 
     * 2009-12-1 至 2010-1-1;hardend 為 true 的話最后一個時間段為 2009-12-1 至 2009-12-25. 
     * 2.6 facet.date.other 取值范圍為 before|after|between|none|all, 默認為 none. 
     * before 會對 start 之前的值做統計 . after 會對 end 之后的值做統計 . between 會對 start 至 end 
     * 之間所有值做統計 . 如果 hardend 為 true 的話 , 那么該值就是各個時間段統計值的和 . none 表示該項禁用 . all 表示 
     * before,after,all 都會統計 . 舉例 : &facet=on &facet.date=date 
     * &facet.date.start=2009-1-1T0:0:0Z &facet.date.end=2010-1-1T0:0:0Z 
     * &facet.date.gap=%2B1MONTH &facet.date.other=all 
     */  
    public void FacetFieldQuery() throws Exception {  
        solrServer = createSolrServer();  
        SolrQuery query = new SolrQuery();// 建立一個新的查詢  
        query.setQuery("jobsName:計算機維護");  
        query.setFacet(true);// 設置facet=on  
        // 分類信息分為:薪水,發布時間,教育背景,工作經驗,公司類型,工作類型  
        query.addFacetField(new String[] { "salary", "publishDate",  
                "educateBackground", "jobExperience", "companytype", "jobsType" });// 設置需要facet的字段  
        query.setFacetLimit(10);// 限制facet返回的數量  
        query.setFacetMissing(false);// 不統計null的值  
        query.setFacetMinCount(1);// 設置返回的數據中每個分組的數據最小值,比如設置為1,則統計數量最小為1,不然不顯示  

        // query.addFacetQuery("publishDate:[2014-04-11T00:00:00Z TO 2014-04-13T00:00:00Z]");  
        QueryResponse response = solrServer.query(query);  
        System.out.println("查詢時間:" + response.getQTime());  
        Listfacets = response.getFacetFields();// 返回的facet列表  
        for (FacetField facet : facets) {  
            System.out.println(facet.getName());  
            System.out.println("----------------");  
            Listcounts = facet.getValues();  
            for (Count count : counts) {  
                System.out.println(count.getName() + ":" + count.getCount());  
            }  
            System.out.println();  
        }  

    }  

    // 時間片使用方法  
    public void FacetFieldQueryDate() throws Exception {  
        solrServer = createSolrServer();  
        SolrQuery query = new SolrQuery();// 建立一個新的查詢  
        query.setQuery("jobsName:計算");  
        query.setFacet(true);// 設置facet=on  
        query.setFacetLimit(10);// 限制facet返回的數量  
        query.setFacetMissing(false);// 不統計null的值  
        query.setFacetMinCount(1);// 設置返回的數據中每個分組的數據最小值,比如設置為1,則統計數量最小為1,不然不顯示  
        query.addFacetField(new String[] { "salary", "educateBackground",  
                "jobExperience", "companytype", "jobsType" });// 設置需要facet的字段  
        // query.addFacetQuery("publishDate:[2014-04-21T00:00:00Z TO 2014-04-23T00:00:00Z]");  
        // query.addFacetQuery("publishDate:[2014-04-11T00:00:00Z TO 2014-04-13T00:00:00Z]");  
        SimpleDateFormat time0 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");  
        SimpleDateFormat time1 = new SimpleDateFormat("yyyy-MM-dd");  
        SimpleDateFormat time2 = new SimpleDateFormat("HH:mm:ss");  
        // return  
        // date.getYear()+"-"+date.getMonth()+"-"+date.getDay()+"T"+date.getHours()+":"+date.getMinutes()+":"+date.getSeconds();  

        Calendar c = Calendar.getInstance();  
        c.setTime(time0.parse(time1.format(c.getTime()) + " 23:59:59"));  
        Date date = c.getTime();  
        String dateNow = time1.format(date) + "T" + time2.format(date) + "Z";  
        c.setTime(time0.parse(time1.format(c.getTime()) + " 23:59:59"));  
        c.add(Calendar.DATE, -1);  
        date = c.getTime();  
        // 當天  
        query.addFacetQuery("publishDate:[" + time1.format(date) + "T"  
                + time2.format(date) + "Z" + " TO " + dateNow + "]");  
        c.add(Calendar.DATE, -2);  
        date = c.getTime();  
        // 前三天  
        query.addFacetQuery("publishDate:[" + time1.format(date) + "T"  
                + time2.format(date) + "Z" + " TO " + dateNow + "]");  
        c.add(Calendar.DATE, -4);  
        date = c.getTime();  
        // 前一周  
        query.addFacetQuery("publishDate:[" + time1.format(date) + "T"  
                + time2.format(date) + "Z" + " TO " + dateNow + "]");  
        c.add(Calendar.DATE, -7);  
        date = c.getTime();  
        // 前兩周  
        query.addFacetQuery("publishDate:[" + time1.format(date) + "T"  
                + time2.format(date) + "Z" + " TO " + dateNow + "]");  
        c.add(Calendar.DATE, -16);  
        date = c.getTime();  
        // 前一個月  
        query.addFacetQuery("publishDate:[" + time1.format(date) + "T"  
                + time2.format(date) + "Z" + " TO " + dateNow + "]");  
        c.add(Calendar.DATE, -30);  
        date = c.getTime();  
        // 前兩個月  
        query.addFacetQuery("publishDate:[" + time1.format(date) + "T"  
                + time2.format(date) + "Z" + " TO " + dateNow + "]");  

        QueryResponse response = solrServer.query(query);  
        System.out.println("查詢時間:" + response.getQTime());  
        Listfacets = response.getFacetFields();// 返回的facet列表  
        for (FacetField facet : facets) {  
            System.out.println(facet.getName());  
            System.out.println("----------------");  
            Listcounts = facet.getValues();  
            for (Count count : counts) {  
                System.out.println(count.getName() + ":" + count.getCount());  
            }  
            System.out.println();  
        }  
        // 根據時間段來獲取數據  
        Map maps = response.getFacetQuery();  
        for (Entry entry : maps.entrySet()) {  
            System.out.println(entry.getKey() + ":" + entry.getValue());  
        }  

    }  

    // 最終使用的查詢方式  
    // SolrJ提供的查詢功能比較強大,可以進行結果中查詢、范圍查詢、排序等。  
    // 補充一下范圍查詢的格式:[star t TO end],start與end是相應數據格式的值的字符串形式,“TO” 一定要保持大寫!  
    /* 
     * field 查詢的字段名稱數組 key 查詢的字段名稱對應的值 start 查詢的起始位置 count 一次查詢出來的數量 sortfield 
     * 需要排序的字段數組 flag 需要排序的字段的排序方式如果為true 升序 如果為false 降序 hightlight 是否需要高亮顯示 
     */  
    public QueryResponse searchResult(String[] field, String[] key, int start,  
            int count, String[] sortfield, Boolean[] flag, Boolean hightlight)  
            throws Exception {  
        solrServer = createSolrServer();  
        // 檢測輸入是否合法  
        if (null == field || null == key || field.length != key.length) {  
            return null;  
        }  


        SolrQuery query = null;  
        try {  
            // 初始化查詢對象  
            query = new SolrQuery(field[0] + ":" + key[0]);  
            for (int i = 0; i < field.length; i++) { query.addFilterQuery(field[i] + ":" + key[i]); } // 設置起始位置與返回結果數 query.setStart(start); query.setRows(count); // 設置排序 if (!(null == sortfield || null == flag || sortfield.length != flag.length)) { for (int i = 0; i < sortfield.length; i++) { if (flag[i]) { query.addSortField(sortfield[i], SolrQuery.ORDER.asc); } else { query.addSortField(sortfield[i], SolrQuery.ORDER.desc); } } } // 設置高亮 if (null != hightlight) { query.setHighlight(true); // 開啟高亮組件 query.addHighlightField("jobsName");// 高亮字段 query.setHighlightSimplePre("");// 標記  
                query.setHighlightSimplePost("");  
                query.setHighlightSnippets(1);// 結果分片數,默認為1  
                query.setHighlightFragsize(1000);// 每個分片的最大長度,默認為100  

            }  
        } catch (Exception e) {  
            e.printStackTrace();  
        }  
        query.setFacet(true);// 設置facet=on  
        query.setFacetLimit(10);// 限制facet返回的數量  
        query.setFacetMissing(false);// 不統計null的值  
        query.setFacetMinCount(1);// 設置返回的數據中每個分組的數據最小值,比如設置為1,則統計數量最小為1,不然不顯示  
        query.addFacetField(new String[] { "salary", "educateBackground",  
                "jobExperience", "companytype", "jobsType" });// 設置需要facet的字段  
        // query.addFacetQuery("publishDate:[2014-04-21T00:00:00Z TO 2014-04-23T00:00:00Z]");  
        // query.addFacetQuery("publishDate:[2014-04-11T00:00:00Z TO 2014-04-13T00:00:00Z]");  
        SimpleDateFormat time0 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");  
        SimpleDateFormat time1 = new SimpleDateFormat("yyyy-MM-dd");  
        SimpleDateFormat time2 = new SimpleDateFormat("HH:mm:ss");  
        // return  
        // date.getYear()+"-"+date.getMonth()+"-"+date.getDay()+"T"+date.getHours()+":"+date.getMinutes()+":"+date.getSeconds();  

        Calendar c = Calendar.getInstance();  
        c.setTime(time0.parse(time1.format(c.getTime()) + " 23:59:59"));  
        Date date = c.getTime();  
        String dateNow = time1.format(date) + "T" + time2.format(date) + "Z";  
        c.setTime(time0.parse(time1.format(c.getTime()) + " 23:59:59"));  
        c.add(Calendar.DATE, -1);  
        date = c.getTime();  
        // 當天  
        query.addFacetQuery("publishDate:[" + time1.format(date) + "T"  
                + time2.format(date) + "Z" + " TO " + dateNow + "]");  
        c.add(Calendar.DATE, -2);  
        date = c.getTime();  
        // 前三天  
        query.addFacetQuery("publishDate:[" + time1.format(date) + "T"  
                + time2.format(date) + "Z" + " TO " + dateNow + "]");  
        c.add(Calendar.DATE, -4);  
        date = c.getTime();  
        // 前一周  
        query.addFacetQuery("publishDate:[" + time1.format(date) + "T"  
                + time2.format(date) + "Z" + " TO " + dateNow + "]");  
        c.add(Calendar.DATE, -7);  
        date = c.getTime();  
        // 前兩周  
        query.addFacetQuery("publishDate:[" + time1.format(date) + "T"  
                + time2.format(date) + "Z" + " TO " + dateNow + "]");  
        c.add(Calendar.DATE, -16);  
        date = c.getTime();  
        // 前一個月  
        query.addFacetQuery("publishDate:[" + time1.format(date) + "T"  
                + time2.format(date) + "Z" + " TO " + dateNow + "]");  
        c.add(Calendar.DATE, -30);  
        date = c.getTime();  
        // 前兩個月  
        query.addFacetQuery("publishDate:[" + time1.format(date) + "T"  
                + time2.format(date) + "Z" + " TO " + dateNow + "]");  

        QueryResponse rsp = null;  
        try {  
            rsp = solrServer.query(query);  
            System.out.println("此次查詢時間qtime :" + rsp.getQTime());  
            Listfacets = rsp.getFacetFields();// 返回的facet列表  
            for (FacetField facet : facets) {  
                System.out.println(facet.getName());  
                System.out.println("----------------");  
                Listcounts = facet.getValues();  
                for (Count countitem : counts) {  
                    System.out.println(countitem.getName() + ":"  
                            + countitem.getCount());  
                }  
                System.out.println();  
            }  
            // 根據時間段來獲取數據  
            Map maps = rsp.getFacetQuery();  
            for (Entry entry : maps.entrySet()) {  
                System.out.println(entry.getKey() + ":" + entry.getValue());  
            }  
            // 獲取返回的結果  
            SolrDocumentList docs = rsp.getResults();             
            for (SolrDocument doc : docs) {  
                System.out.println("-----");  
                System.out.println(doc.getFieldValue("jobsName"));  
                System.out.println(doc.getFieldValue("publishDate"));  

            }  
        } catch (Exception e) {  
            e.printStackTrace();  
            return null;  
        }  
        // 返回查詢結果  
        return rsp;  
    }  
}  </pre> 


來自: http://blog.csdn.net/a925907195?viewmode=contents

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!