Solrj demo
pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.cloudwise</groupId>
<artifactId>solr_maven_demo</artifactId>
<version>1.0-SNAPSHOT</version>
<dependencies>
<!-- https://mvnrepository.com/artifact/org.apache.solr/solr-core -->
<dependency>
<groupId>org.apache.solr</groupId>
<artifactId>solr-solrj</artifactId>
<version>4.10.1</version>
</dependency>
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.2</version>
</dependency>
</dependencies>
</project>
import org.apache.solr.client.solrj.SolrQuery;
import org.apache.solr.client.solrj.SolrServerException;
import org.apache.solr.client.solrj.impl.HttpSolrServer;
import org.apache.solr.client.solrj.response.QueryResponse;
import org.apache.solr.client.solrj.response.UpdateResponse;
import org.apache.solr.common.SolrDocumentList;
import org.apache.solr.common.SolrInputDocument;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
public class Solr {
public static void main(String[] args) {
//获得solr服务
HttpSolrServer hs = new HttpSolrServer("http://10.0.1.225:2222/solr/collection1");
SolrInputDocument inputDocument = new SolrInputDocument();
//=========================向solr添加field的一种方法=================
try {
//向文档中添加域以及对应的值,注意:所有的域必须在schema.xml中定义过,前面已经给出过我定义的域。
inputDocument.addField("id", "1");
inputDocument.addField("title", "我们一起学猫叫");
hs.add(inputDocument);
hs.commit();
} catch (SolrServerException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
//=========================向solr添加field的另一种方法=================
/*SorlUtils sorlUtils=SorlUtils.getInstance();*/
//solr对象实体
SolrTestBean sb = new SolrTestBean();
// sb.setId("2");
// sb.setTitle("一起喵喵喵喵喵~");
List<SolrTestBean> lst = new ArrayList<SolrTestBean>();
for (int i = 2; i < 15; i++) {
sb = new SolrTestBean();
sb.setId(i + "");
sb.setTitle("一起喵喵喵喵喵~" + i);
lst.add(sb);
}
try {
//添加数据
// UpdateResponse ur=hs.addBean(sb);
// hs.addBean(sb);
// hs.commit();//提交
//添加批量数据
UpdateResponse ur = hs.addBeans(lst);
hs.commit();//提交
//删除数据
// hs.deleteById("10");
// hs.commit();//提交
// 查询数据
SolrQuery query = new SolrQuery("一起喵喵");
// query.set("q","id:10");
query.setRows(15);
//得到查询响应对象
QueryResponse response = hs.query(query);
//得到返回结果集
SolrDocumentList doclist = response.getResults();
for (int i = 0; i < doclist.getNumFound(); i++) {
System.out.println("id:" + doclist.get(i).get("id") + "---title:" + doclist.get(i).get("title"));
}
/*int result= ur.getStatus();
62 System.out.println(result);*/
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
import org.apache.solr.client.solrj.beans.Field;
public class SolrTestBean {
//注意这里必须加注解
@Field("id")
public String id;
@Field("title")
public String title;
public String getId() {
return id;
}
public void setId( String id) {
this.id = id;
}
public String getTitle() {
return title;
}
public void setTitle( String title) {
this.title = title;
}
}
添加完了可以先在客户端验证一下:

错误:
Exception in thread "main" org.apache.solr.client.solrj.beans.BindingException:
class: class solr.PeopleBean does not define any fields.
上面的实体类中没有加入@Field("")注解。
Solrj demo的更多相关文章
- Solr配置与简单Demo[转]
Solr配置与简单Demo 简介: solr是基于Lucene Java搜索库的企业级全文搜索引擎,目前是apache的一个项目.它的官方网址在http://lucene.apache.org/sol ...
- 使用solrj操作solr索引库,solr是lucene服务器
客户端开发 Solrj 客户端开发 Solrj Solr是搭建好的lucene服务器 当然不可能完全满足一般的业务需求 可能 要针对各种的架构和业务调整 这里就需要用到Solrj了 Solrj是Sol ...
- solrj 测试连接 6.6.5solr集群
我开始环境是 linux上是6.6.5 pom也是6.6.5 按照学习视频的demo,他用的是4点几的solr,我换成了6点几的,没有CloudSolrServer 只有CloudSolrClie ...
- Solr系列四:Solr(solrj 、索引API 、 结构化数据导入)
一.SolrJ介绍 1. SolrJ是什么? Solr提供的用于JAVA应用中访问solr服务API的客户端jar.在我们的应用中引入solrj: <dependency> <gro ...
- solr环境搭建及java小demo
一配置solr环境 1.下载solr 2.配置solr(最好单独分离出一个tomcat,一台机器启动多个tomcat参见:http://www.cnblogs.com/lxlwellaccessful ...
- 使用solrJ创建索引
sorlJ官方介绍谷歌翻译 SolrJ是一个API,可以让Java应用程序轻松与Solr对话. SolrJ隐藏了很多连接到Solr的细节,并允许您的应用程序通过简单的高级方法与Solr进行交互. p ...
- Solr JAVA客户端SolrJ的使用
一.Solrj简介 SolrJ是操作Solr的JAVA客户端,它提供了增加.修改.删除.查询Solr索引的JAVA接口.SolrJ针对 Solr提供了Rest 的HTTP接口进行了封装, SolrJ底 ...
- 通过一个demo了解Redux
TodoList小demo 效果展示 项目地址 (单向)数据流 数据流是我们的行为与响应的抽象:使用数据流能帮我们明确了行为对应的响应,这和react的状态可预测的思想是不谋而合的. 常见的数据流框架 ...
- 很多人很想知道怎么扫一扫二维码就能打开网站,就能添加联系人,就能链接wifi,今天说下这些格式,明天做个demo
有些功能部分手机不能使用,网站,通讯录,wifi基本上每个手机都可以使用. 在看之前你可以扫一扫下面几个二维码先看看效果: 1.二维码生成 网址 (URL) 包含网址的 二维码生成 是大家平时最常接触 ...
随机推荐
- USACO2005 City Skyline /// oj23401
题目大意: Input * Line 1: Two space separated integers: N and W * Lines 2..N+1: Two space separated inte ...
- 解决WIN8输入法的问题,Ctrl+空格,Ctrl+Shift,切换问题
在WIN8中,我们曾经熟悉的的Ctrl+空格和Ctrl+Shift消失了,取而导致的是WIN+空格. 在这里先简单解释一下WIN8的输入法结构: 在WIN7以前的输入法中,输入法采用了平行目录的结构, ...
- el-dialog(点击左上角的关闭x)执行弹窗关闭之前的回调
绑定的事件: :before-close="handleDialogClose" html: <!-- 新增.编辑弹窗 --> <el-dialog :close ...
- Java Collection - HashMap
HashMap源码解析 java.util.HashMap 类 https://www.cnblogs.com/ysocean/p/8711071.html HashMap线程不安全的原因 https ...
- 校园商铺-4店铺注册功能模块-10店铺注册之js实现
1. 建立js目录和文件 1.1 建立js目录 在webapp下新建文件夹js,再在js目录下新建shop文件夹. 1.2 js文件 js的功能: 1.从后台获取到店铺分类.区域等是信息,将它填充到前 ...
- (20)Oracle函数
substr 截取字段 substr(字符串,截取开始位置,截取长度) substr(str,n,m) 第二,三参数可以省略, 第二个参数为负数时表示从倒数第n位开始向后截取m个 round(str, ...
- MongoDB错误记录
文章目录 mongoDB启动报错 mongoDB启动报错 在bin目录下执行 ./mongod 报错如下 F CONTROL [main] Failed global initialization: ...
- HDU-2095-find your present (2)-位或/STL(set)
In the new year party, everybody will get a "special present".Now it's your turn to get yo ...
- 第四周课堂笔记3th
1.函数的嵌套 作用域,说的是变量 全局作用域:内置命名空间,全局命名空间 全局空间不可以引用局部空间 局部作用域: 局部命名空间 开辟的临时空间前提是调用了函数 全局作用域在整个文件中被使用 L ...
- <剑指offer>面试题
题目1:二维数组的查找 题目:在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断 ...