一配置solr环境
1.下载solr
2.配置solr(最好单独分离出一个tomcat,一台机器启动多个tomcat参见:http://www.cnblogs.com/lxlwellaccessful/p/6746341.html)
a.在下载的solr文件夹下的\example\solr\下将文件全部考到一个文件夹中(本人是放在E:\MySoft\solr\home中的)
b.初始化solr实例
在solr解压路径的\example\webapps\路径下有一个solr.war,将其复制到tomcat的webapp下编译
c.修改配置文件,页面访问solr管理界面
接下来启动tomcat,如果你是按照步骤来的那么你就可以通过访问tomcat下的solr看到这个页面,那么solr的配置就完成了
二,java操作solr
1.jar包(网上很多)
下面是我demo的代码
1 package com.hlrj.lxl.test; 2 3 import java.io.IOException; 4 import java.util.ArrayList; 5 import java.util.List; 6 7 import org.apache.solr.client.solrj.SolrQuery; 8 import org.apache.solr.client.solrj.SolrServerException; 9 import org.apache.solr.client.solrj.impl.HttpSolrServer; 10 import org.apache.solr.client.solrj.response.QueryResponse; 11 import org.apache.solr.client.solrj.response.UpdateResponse; 12 import org.apache.solr.common.SolrDocumentList; 13 import org.apache.solr.update.SolrCmdDistributor.Response; 14 15 import com.hlrj.lxl.bean.SolrTestBean; 16 import com.hlrj.lxl.bean.SorlBean; 17 import com.hlrj.lxl.util.SorlUtils; 18 19 public class SolrTest { 20 21 public static void main(String[] args) { 22 //获得solr服务 23 HttpSolrServer hs=new HttpSolrServer("http://localhost:8888/solr"); 24 /*SorlUtils sorlUtils=SorlUtils.getInstance();*/ 25 //solr对象实体 26 SolrTestBean sb=new SolrTestBean(); 27 sb.setId("1"); 28 sb.setTitle("hello word!!!"); 29 List<SolrTestBean> lst=new ArrayList<SolrTestBean>(); 30 for (int i=2;i<15;i++) { 31 sb=new SolrTestBean(); 32 sb.setId(i+""); 33 sb.setTitle("hello word!!!"+i); 34 lst.add(sb); 35 } 36 try { 37 38 //添加数据 39 // UpdateResponse ur=hs.addBean(sb); 40 // hs.commit();//提交 41 //添加批量数据 42 // UpdateResponse ur=hs.addBeans(lst); 43 // hs.commit();//提交 44 //删除数据 45 // hs.deleteById("1"); 46 // hs.commit();//提交 47 48 //查询数据 49 SolrQuery query=new SolrQuery("hello word"); 50 query.setRows(15); 51 //得到查询响应对象 52 QueryResponse response=hs.query(query); 53 //得到返回结果集 54 SolrDocumentList doclist=response.getResults(); 55 56 for(int i=0;i<doclist.getNumFound()-1;i++) 57 { 58 System.out.println("id:"+doclist.get(i).get("id")+"---title:"+doclist.get(i).get("title")); 59 } 60 61 /*int result= ur.getStatus(); 62 System.out.println(result);*/ 63 } catch (Exception e) { 64 // TODO Auto-generated catch block 65 e.printStackTrace(); 66 } 67 } 68 }
时间: 2024-10-07 17:56:39