第三章solrj客户端使用demo
来源:互联网 发布:excel表格数据连接 编辑:程序博客网 时间:2024/05/21 16:21
- 表结构如下
- maven中使用的jar版本参考如下
- java源码
根据第二章完成的基础进行。
表结构如下
-- 表结构sql如下 SET FOREIGN_KEY_CHECKS=0;-- Table structure for studentDROP TABLE IF EXISTS student;CREATE TABLE student (sid bigint(20) NOT NULL,sname varchar(255) DEFAULT NULL,sage int(11) DEFAULT NULL,saddress varchar(255) DEFAULT NULL,sdescript text,PRIMARY KEY (sid)) ENGINE=InnoDB DEFAULT CHARSET=utf8;-- Records of studentINSERT INTO student VALUES ('1', '李四', '23', '中华路1号', '好学生');INSERT INTO student VALUES ('2', '张三', '34', '华信路3号', '坏学生,经常做坏事!');
maven中使用的jar版本参考如下
<dependency> <groupId>org.apache.solr</groupId> <artifactId>solr-solrj</artifactId> <version>5.3.1</version> </dependency> <!-- solr包 依赖commons-logging--> <dependency> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> <version>1.1</version> </dependency>
java源码
package com.bamboo.solr_Test;import java.io.IOException;import java.util.ArrayList;import java.util.Date;import java.util.HashMap;import java.util.List;import java.util.Map;import org.apache.solr.client.solrj.SolrClient;import org.apache.solr.client.solrj.SolrQuery;import org.apache.solr.client.solrj.SolrServerException;import org.apache.solr.client.solrj.impl.HttpSolrClient;import org.apache.solr.client.solrj.response.QueryResponse;import org.apache.solr.client.solrj.response.SolrPingResponse;import org.apache.solr.client.solrj.response.UpdateResponse;import org.apache.solr.common.SolrDocument;import org.apache.solr.common.SolrDocumentList;import org.apache.solr.common.SolrInputDocument;import org.apache.solr.common.params.MapSolrParams;import org.apache.solr.common.params.SolrParams;import org.junit.Test;import org.omg.PortableInterceptor.SUCCESSFUL;/********* * solrj的使用demo * maven中使用的jar版本参考如下 * 链接ulr两种方式1直接链接,2连接根目录再根据核心查询得到repose * * @author laiding * */public class SolrJ { String url = "http://localhost:8983/solr/s1"; //solr 服务器地址 public static final String solrServerUrl = "http://localhost:8983/solr/"; //solrhome下的core public static final String solrCroeHome = "s1"; public static void main( String[] args ) { SolrJ sj =new SolrJ(); try { //1增加索引 //sj.addIndex(); //批量添加索引 //sj.addIndexSum(); sj.queryAll(); //删除索引 sj.delIndex("-1437387460"); sj.queryAll(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } // 测试连通性 @Test public void createSolrClient() { try { SolrClient solr = new HttpSolrClient(url); SolrPingResponse response = solr.ping(); // 打印执行时间 System.out.println(response.getElapsedTime()); solr.close(); } catch (Exception e) { e.printStackTrace(); } } /** * 查询所有索引 * * @throws Exception */ public void queryAll() { try { //SolrClient client = new HttpSolrClient(solrServerUrl + "/" + solrCroeHome); //QueryResponse resp = client.query(new SolrQuery("*:*")); SolrClient client = new HttpSolrClient(solrServerUrl); QueryResponse resp = client.query(solrCroeHome, new SolrQuery("*:*")); List<Student> lists = resp.getBeans(Student.class); System.out.println(lists.size()); for (Student student : lists) { System.out.println(student.getId()+"\t"+student.getName()); } } catch (SolrServerException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } /** * 增加索引 * * @throws Exception */ @Test public void addIndex() throws Exception { try { SolrClient solr = new HttpSolrClient(url); // 添加方式1 SolrInputDocument docs = new SolrInputDocument(); docs.addField("id", "3"); docs.addField("name", "aaa"); docs.addField("age", "22"); docs.addField("descript", "student 2016-7-19"); UpdateResponse response = solr.add(docs); System.out.println(response.getElapsedTime()); // 添加方式2 Student Student = new Student(); Student.setId(4); Student.setName("bbb"); Student.setAge(22); Student.setDescript("this student is chinese"); response = solr.addBean(Student); System.out.println(response.getElapsedTime()); solr.commit(); solr.close(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } /** * 批量添加索引 * * @throws Exception */ @Test public void addIndexSum() throws Exception { SolrClient solr = new HttpSolrClient(url); List<Student> list = new ArrayList<Student>(); for (int i = 0; i < 25; i++) { Student student1 = new Student(); student1.setId((int)System.currentTimeMillis()); student1.setName("student"+i); student1.setAge(i); list.add(student1); } UpdateResponse response = solr.addBeans(list); System.out.println(response.getElapsedTime()); solr.commit(); solr.close(); } /** * 删除索引 */ @Test public void delIndex(String id) throws Exception { SolrClient solr = new HttpSolrClient(url); UpdateResponse response = solr.deleteById(id); System.out.println(response.getElapsedTime()); solr.commit(); solr.close(); } /** * 简单查询 * * @throws Exception */ @Test public void query() throws Exception { SolrClient solr = new HttpSolrClient(url); Map<String, String> map = new HashMap<String, String>(); map.put("q", "*:*"); SolrParams params = new MapSolrParams(map); QueryResponse resp = solr.query(params); // 以下是第二种方法 // String queryString="content:test"; // MultiMapSolrParams mParams = // SolrRequestParsers.parseQueryString("queryString"); // QueryResponse resp = solr.query(mParams); SolrDocumentList docsList = resp.getResults(); System.out.println(docsList.size()); System.out.println("---------------------"); for (SolrDocument doc : docsList) { System.out.println(doc.get("id")); } solr.close(); } @Test public void find() throws SolrServerException, IOException { SolrClient solr = new HttpSolrClient(url); SolrQuery solrQuery = new SolrQuery(); // solrQuery.setQuery("*:*"); solrQuery.set("q", "*:*"); // 设置分页的相关属性 solrQuery.setStart(3); solrQuery.setRows(5); QueryResponse queryResponse = solr.query(solrQuery); SolrDocumentList list = queryResponse.getResults(); for (SolrDocument document : list) { Object id = document.get("id"); Object number = document.get("number"); System.out.println(id + "\t" + number); } }}
0 0
- 第三章solrj客户端使用demo
- solrj使用demo(PersonSolrServer)
- solrJ客户端的使用
- SolrJ客户端的使用
- SolrJ客户端的使用
- Solr JAVA客户端SolrJ的使用
- solr学习笔记 -- day03 使用solrJ客户端
- solrJ使用
- solrj使用
- solrj使用
- solrJ使用
- Solr JAVA客户端SolrJ 4.9使用示例教程
- Solr JAVA客户端SolrJ 4.9使用示例教程
- Solr之客户端SolrJ
- solrJ客户端测试笔记
- HBaseAdminDemo 使用客户端api-demo
- solr的客户端调用solrj
- Solr Java客户端(SolrJ)
- java笔记02(集合)
- IPC机制<二>AIDL
- 读取excel文件.xls格式 转为html格式在页面中显示
- 理解RESTful架构
- 制作手机端九宫格
- 第三章solrj客户端使用demo
- java基础知识(2)—一起加强加强java基础吧
- java解析Xml
- There are 0 datanode(s) running and no node(s) are excluded in this operation
- anaconda3下使用python2
- 每天一题LeetCode[第十三天]
- Lucene初探
- Oracle登录命令
- scala_小函数