solr系列--solrj使用

2023-06-29 14:07:39 浏览数 (1)

solrj是solr的java客户端,用于访问solr索引库。它提供了添加、删除、查询、优化等功能。 配置jar: /dist/solrj-lib下的所有jar solr-solrj-5.2.1.jar server/lib/ext下所有jar 如果Maven来构建项目,添加以下代码到你的pom.xml配置文件中 <dependency>          <artifactId>solr-solrj</artifactId>          <groupId>org.apache.solr</groupId>          <version>1.4.0</version>          <type>jar</type>         <scope>compile</scope>  </dependency> <dependency>          <groupId>org.slf4j</groupId>         <artifactId>slf4j-simple</artifactId>         <version>1.5.6</version>  </dependency> @Test public void createIndex() throws Exception { // 创建HttpSolrClient // 参数:表示solr服务的访问基础URL HttpSolrClient server = new HttpSolrClient("http://localhost:8080/solr"); // 通过server添加SolrInputDocument SolrInputDocument doc = new SolrInputDocument(); doc.addField("id", "c001"); doc.addField("content_ik", "我爱传智播客22222"); server.add(doc); // 提交操作 server.commit(); } @Test public void deleteIndex() throws Exception { // 创建HttpSolrClient // 参数:表示solr服务的访问基础URL HttpSolrClient server = new HttpSolrClient("http://localhost:8080/solr"); // 通过id删除 // server.deleteById("c001"); // 根据查询条件删除 server.deleteByQuery("id:c001"); // 批量删除 server.deleteByQuery("*:*"); // 提交操作 server.commit(); } @Test public void search01() throws Exception { // 创建HttpSolrClient // 参数:表示solr服务的访问基础URL HttpSolrClient server = new HttpSolrClient("http://localhost:8080/solr"); // 创建查询对象 SolrQuery query = new SolrQuery(); // 设置查询条件 query.setQuery("*:*"); // 通过server查询,并返回结果 QueryResponse response = server.query(query); // 获取查询结果 SolrDocumentList results = response.getResults(); // 匹配出的所有商品记录 long count = results.getNumFound(); System.out.println("匹配出的所有商品记录:" count); for (SolrDocument solrDocument : results) { System.out.println("商品ID:" solrDocument.get("id")); System.out.println("商品名称:" solrDocument.get("product_name")); System.out.println("商品分类名称:" solrDocument.get("product_catalog_name")); System.out.println("商品价格:" solrDocument.get("product_price")); System.out.println("商品图片地址:" solrDocument.get("product_picture")); System.out.println("======================================="); } }

0 人点赞