solr 查询id不等于_Solr基于java程序操作

SolrJ是访问Solr服务的JAVA客户端,用于索引和搜索操作。添加索引时,每个记录需包含ID且与schema.xml匹配,添加后需提交。删除操作支持按ID或查询条件。查询时,使用SolrQuery设置关键字、域、范围,并通过QueryResponse获取结果数量和集合。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  • 什么是 SolrJ

solrJ 是访问 Solr 服务的 JAVA 客户端,提供索引和搜索的请求方法,SolrJ 通常嵌入在业务系统中,通过 solrJ 的 API 接口操作 Solr 服务。

  • 使用solrj进行索引的添加
      • 每个索引的添加必须要ID
      • 添加key值要和schema.xml文件内的field域保持一致
      • 添加数据后一定要提交数据,不然是不存在数据的
      • 连接Solr的对象需要连接到项目名
      • 每个document是一组Json数据对象
@Test
	public void test1() throws SolrServerException, IOException {
		//1.常见Solr服务对象
		SolrServer server = new  HttpSolrServer("http://192.168.177.128:8080/solr");
		//2.创建文档对象
		SolrInputDocument document = new SolrInputDocument();
		//3.创建索引值
		document.addField("id", "old");
		document.addField("item_title", "4G手机");
		document.addField("item_sell_point", "4G手机太好用");
		document.addField("item_price", 9000);
		//4.添加索引值到服务对象
		server.add(document);
		//5.提交数据到solr服务上
		server.commit();
	}

244af117a1e9dfcee4b3a3a78a9ad3ab.png
  • 删除
  • 删除支持两种删除方式
      • 1.根据ID
      • 2.执行查询删除
          • 查询删除的格式:查询的域:值
@Test
	public void test2() throws SolrServerException, IOException {
		SolrServer server = new  HttpSolrServer("http://192.168.177.128:8080/solr");
		//1.根据ID进行删除
		server.deleteById("test");
		
		//2.根据查询进行删除格式为:item_title:4G手机,同样支持通配
		server.deleteByQuery("*:*");
		server.commit();
	}
  • 查询
  • 使用到的对象
        • 1.SolrQuery查询对象
          • 1.setQuery():设置查询的关键字
          • 2.set():设置查询的域
          • 3.setStart():设置开始
          • 4.setRows():设置结束
        • 2.QueryResponse:响应结果集
          • 1.getNumFound():返回查询到的数量
          • 2.getResults();返回封装的list集合
        • 3.SolrDocumentList:结果集合
          • 1.get():获取指定域的值
/**
	 * 查询
	 * @throws SolrServerException 
	 */
	@Test
	public void test3() throws SolrServerException {
		SolrServer server = new  HttpSolrServer("http://192.168.177.128:8080/solr");
		//1.创建搜索对象
		SolrQuery query = new SolrQuery();
		//2.设置查询的关键字
		query.setQuery("4G手机");
		//3.设置查询的域从默认的域中进行数据的搜索
		query.set("df", "item_keywords");
		//4.设置分页
		query.setStart(0);
		query.setRows(10);
		
		//5.执行查询QueryResponse:封装了结果集需要获取结果集
		QueryResponse list = server.query(query);		
		//6.获取结果集
		SolrDocumentList results = list.getResults();
		//7.返回查询的个数
		System.out.println(results.getNumFound());
		for (SolrDocument var : results) {
			System.out.println(var.get("item_title"));
			System.out.println(var.get("item_sell_point"));
		}
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值