Solr索引增删改查

Solr索引增删改查

/**
 * solr索引的增删改查
 * 
 * @author robbin
 *
 */
public class SolrJDao {
	 @Test
	 public void addIndex() throws SolrServerException, IOException{
		 String solrurl = "http://localhost:8983/solr";
		 SolrServer solrServer = new HttpSolrServer(solrurl);
//		 SolrInputDocument document = new SolrInputDocument();
		 Product p = new Product();
		 p.setId(100);
		 p.setName("哪年夏天在海边");
		 p.setDesc("哪年夏天在海边");
		 p.setPrice(29);
		 solrServer.addBean(p);
		 solrServer.commit();
		 
	 }
	 @Test
     public void delIndex() throws SolrServerException, IOException{
    	 String solrurl = "http://localhost:8983/solr";
		 SolrServer solrServer = new HttpSolrServer(solrurl);
		 solrServer.deleteById("1");
		 solrServer.commit();
		
	 }
     @Test
     public void updateIndex() throws IOException, SolrServerException{
    	 String solrurl = "http://localhost:8983/solr";
		 SolrServer solrServer = new HttpSolrServer(solrurl);
		 Product p = new Product();
		 p.setId(2);
		 p.setName("哪年夏天在海边");
		 p.setDesc("1995年初夏.");
		 p.setPrice(29);
		 solrServer.addBean(p);
		 solrServer.commit();
     }
     @Test
     public void queryIndex() throws SolrServerException{
    	 String solrurl = "http://localhost:8983/solr";
		 SolrServer solrServer = new HttpSolrServer(solrurl);

		 SolrQuery params = new SolrQuery();
		 params.setQuery("name:哪年夏天");
		 params.setStart(0);
		 params.setRows(10);
		 
		 params.setHighlight(true);
		 params.setHighlightSimplePre("<font color='red'>");
		 params.setHighlightSimplePost("</font>");
		 params.setParam("hl.fl", "name");
		 
		 QueryResponse queryResponse = solrServer.query(params);
		 
		 Map<String, Map<String, List<String>>> listMmap = queryResponse.getHighlighting();
		 Set<Entry<String, Map<String, List<String>>>> entrySet = listMmap.entrySet();
		 for (Entry<String, Map<String, List<String>>> entry : entrySet) {
			      String key  = entry.getKey();
			      System.out.println("key==="+key);
			      Map<String, List<String>> value = entry.getValue();
			      Set<Entry<String, List<String>>> entrySet2 = value.entrySet();
			      for (Entry<String, List<String>> entry2 : entrySet2) {
					    String key2 = entry2.getKey();
					    System.out.println("key2==="+key2);
					    List<String> value2 = entry2.getValue();
					    for (String str : value2) {
						   System.out.println("str==="+str);
						}
				 }
			      
			
		}
		  
		 SolrDocumentList list = queryResponse.getResults();
		 
		 for (SolrDocument solrDocument : list) {
			 
			 System.out.println(solrDocument.get("id"));
			 System.out.println(solrDocument.get("name"));
			 System.out.println(solrDocument.get("description"));
			 System.out.println(solrDocument.get("price"));
			
		 }
    	 
	  
     }

 



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值