Java_ABC_7.连接Solr,查询数据

6 篇文章 0 订阅
6 篇文章 0 订阅
 
package solrj;

import java.io.IOException;
import java.net.MalformedURLException;
import java.util.ArrayList;
import java.util.Collection;

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

public class LinkSolrJ
{
	private SolrServer m_server = null;
	private Collection<SolrInputDocument> m_docs = null;
    
	public LinkSolrJ(String url) throws MalformedURLException
	{
		//创建一个SolrSever实例
		m_server = getSolrServer(url);
		m_docs = new ArrayList<SolrInputDocument>();
	}
	
	//如果是远程服务
	public SolrServer getSolrServer(String url) throws MalformedURLException
	{
		return new CommonsHttpSolrServer(url);
	}
	
	//向Solr添加数据文档Document
	public void addData(int _id, String _nickname, String _email, String _fullname,String _sms ) 
										throws SolrServerException, IOException
	{
		//构造一个文档
	    SolrInputDocument doc = new SolrInputDocument();
	    doc.addField( "id", _id);
	    doc.addField( "mysql_search", _nickname);
	    doc.addField( "mysql_search", _email);
	    doc.addField( "mysql_search", _fullname);
	    doc.addField( "mysql_search", _sms);
	    
	    m_docs.add(doc);
	}
	
	public void commitDocs() throws SolrServerException, IOException
	{
	    if(!m_docs.isEmpty())
	    {
	    	//添加文档列表
	    	m_server.add( m_docs );
	    	
	    	//提交
	    	m_server.commit();
	    }
	}
	
	public SolrDocumentList searchDataInSolr(String _query) throws SolrServerException
	{
	    //构建一个Solr查询
		String pre = "mysql_search:";
		
	    SolrQuery query = new SolrQuery();
	    query.setQuery(  pre + _query );
	    System.out.println("生成查询!");

	    //查询sever,结果保存于QueryResponse对象
	    QueryResponse queryResponse = m_server.query( query );
	    System.out.println("进行查询!");
	    
	    //返回结果
	    SolrDocumentList docList =queryResponse.getResults();
	    return docList;
	}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值