美文网首页
solr在java中基本操作

solr在java中基本操作

作者: 于占伍 | 来源:发表于2017-12-26 15:41 被阅读0次
import com.yuzw.model.AbnormalSchool;
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.CommonsHttpSolrServer;
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.SolrDocumentList;
import org.apache.solr.common.SolrInputDocument;
import org.apache.solr.common.params.SolrParams;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;

import java.io.IOException;
import java.net.MalformedURLException;
import java.util.List;

import static org.junit.Assert.*;

/**
 * Created by yuzhanwu.
 * Created on 2017/12/25.
 */
public class ServerTestTest {
    private SolrServer server;
    private SolrServer serverAbnormal;
    private CommonsHttpSolrServer httpServer;
    private static final String BASE_URL = "http://10.1.1.52:8983/solr";
    private static final String SUFFIX_SOLR = "/my_news";
    private static final String SUFFIX_ABNORMAL = "/abnormal";
    @Before
    public void setUp() throws Exception {
        System.out.println("before");
        try {
            server = new CommonsHttpSolrServer(BASE_URL+SUFFIX_SOLR);
            serverAbnormal = new CommonsHttpSolrServer(BASE_URL+SUFFIX_ABNORMAL);
//            httpServer = new CommonsHttpSolrServer(DEFAULT_URL);
        } catch (MalformedURLException e) {
            e.printStackTrace();
        }
    }

    @After
    public void tearDown() throws Exception {
        System.out.println("after");
    }

    @Test
    public void query() throws Exception {
        SolrParams params = new SolrQuery("*:*");
        try {
            QueryResponse response = server.query(params);
//            GroupResponse gresp = response.getGroupResponse();//注意:此处不能再用resp.getResults()接收结果
//            List<GroupCommand> commands = gresp.getValues();
            SolrDocumentList list = response.getResults();
            for (int i = 0; i < list.size(); i++) {
                fail(list.get(i));
            }
        } catch (SolrServerException e) {
            e.printStackTrace();
        }
    }
    @Test
    public void queryRateAndIpcount() throws Exception {
        SolrQuery params = new SolrQuery("*:*");
        try {
            QueryResponse response = server.query(params);
            GroupResponse gresp = response.getGroupResponse();//注意:此处不能再用resp.getResults()接收结果
            List<GroupCommand> commands = gresp.getValues();
            SolrDocumentList list = response.getResults();
            for (int i = 0; i < list.size(); i++) {
                fail(list.get(i));
            }
        } catch (SolrServerException e) {
            e.printStackTrace();
        }
    }
    @Test
    public void addDocument() throws Exception{
        //创建文档对象
        SolrInputDocument doucument= new SolrInputDocument();
        doucument.addField("id", "917770");
        doucument.addField("item_title", "华为 P6-C00 电信3G手机(粉色) CDMA2000/GSM 双模双待双通");
        doucument.addField("item_price", 134900);
        //把文档对象写入文档里
        server.add(doucument);
        //提交
        server.commit();
    }
    public final void fail(Object o) {
        System.out.println(o);
    }

    @Test
    public void addBean() {
        AbnormalSchool school = new AbnormalSchool();
        school.setId(9999999);
        school.setSchoolid(808);
        school.setIpcount(5);
        school.setRate(3);
        try {
            serverAbnormal.addBean(school);
            serverAbnormal.commit();
        } catch (IOException e) {
            e.printStackTrace();
        } catch (SolrServerException e) {
            e.printStackTrace();
        }
    }
}

相关文章

网友评论

      本文标题:solr在java中基本操作

      本文链接:https://www.haomeiwen.com/subject/etkjgxtx.html