Solr 4.4 TWO Solr 기본 작업

4314 단어 Solr

package data;

import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

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.QueryResponse;
import org.apache.solr.common.SolrDocument;
import org.apache.solr.common.SolrDocumentList;
import org.apache.solr.common.SolrInputDocument;

public class Test {
	private final static String URL = "http://localhost:1234/solr";
	private static SolrServer server;

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		server = new HttpSolrServer(URL);
		test06();
	}
	
	public static void test06() {
        try {
            SolrQuery query = new SolrQuery("msg_title:solr");
            query.setHighlight(true).setHighlightSimplePre("<span class='highligter'>")
                .setHighlightSimplePost("</span>").setStart(0).setRows(5);

            //  hl.fl= highlight   
            query.setParam("hl.fl", "msg_title,msg_content");
            QueryResponse resp = server.query(query);
            // SolrDocumentList 
            SolrDocumentList sdl = resp.getResults();
            System.out.println(sdl.getNumFound());
            for (SolrDocument sd : sdl) {
                String id = (String) sd.getFieldValue("id");

                    //  
                System.out.println(resp.getHighlighting().get(id).get("msg_title"));
            }
        } catch (SolrServerException e) {
            e.printStackTrace();
        }
    }
	
	 public static void test04() {
	        try {
	            // 
	            SolrQuery query = new SolrQuery("*");

	               //  
	            query.setStart(0);
	            query.setRows(100);
                    // 
                   query.addFilterQuery("msg_title: ");
	            QueryResponse resp = server.query(query);
	            // SolrDocumentList 
	            SolrDocumentList sdl = resp.getResults();
	            System.out.println(sdl.getNumFound());
	            for (SolrDocument sd : sdl) {
	                //                System.out.println(sd);
	                System.out.println("***************");
	                System.out.println("msg_title:"+sd.getFieldValue("msg_title"));
	                System.out.println("msg_content:"+sd.getFieldValue("msg_content"));
	            }
	        } catch (SolrServerException e) {
	            e.printStackTrace();
	        }
	    }
	
	public static void test02() {
        try {
            List<SolrInputDocument> docs = new ArrayList<SolrInputDocument>();
            SolrInputDocument doc = new SolrInputDocument();
            doc.addField("id", "7");
            doc.addField("msg_title", " 001");
            doc.addField("msg_content", "slor ");
            docs.add(doc);
            doc = new SolrInputDocument();
            doc.addField("id", "8");
            doc.addField("msg_title", "<p> solr </p>");
            doc.addField("msg_content", " ");
            docs.add(doc);
            server.add(docs);
            server.optimize();
            server.commit();
        } catch (SolrServerException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

}


참고 자료:
http://www.myexception.cn/program/1131616.html

좋은 웹페이지 즐겨찾기