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;
}
}
Java_ABC_7.连接Solr,查询数据
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.