目录

创建工程

普通的java web工程即可,我采用的是spring mvc!

@Autowired
private SolrServer solrServer; @Override
public void addInterForProduct() throws Exception
{
// 构造一篇文档
SolrInputDocument document = new SolrInputDocument();
//往doc中添加字段,在客户端这边添加的字段必须在服务端的配置文件中有定义
document.addField("id", "num002");
document.addField("title_ik", "113333");
document.addField("content_ik", "11"); solrServer.add(document);
UpdateResponse response = solrServer.commit();
System.out.println("---UpdateResponse-"+response);
}

请求后,返回值为

---UpdateResponse-{responseHeader={status=0,QTime=288}}

status = 0 为成功!失败的情况还没测出来,不知道返回值是什么。知道的童鞋,请告知。

用solr界面查询一下,新增加的已经填入索引库!

{
"responseHeader": {
"status": 0,
"QTime": 2,
"params": {
"q": "id:num002",
"indent": "true",
"wt": "json",
"_": "1457489330978"
}
},
"response": {
"numFound": 1,
"start": 0,
"docs": [
{
"id": "num002",
"title_ik": "113333",
"content_ik": [
"11"
],
"_version_": 1528288311726047200
}
]
}
}

    @Override
public void deleteInterForProduct() throws Exception {
// 删除id域中有num002关键字的文档
solrServer.deleteByQuery("id:num002"); // 删除solr服务端索引库中所有的文档
//solrServer.deleteByQuery("*:*"); UpdateResponse response =solrServer.commit();
System.out.println("---deleteInterForProduct-"+response);
}

删除了id=num002的文档,可以删除库中的所有文档。

返回值

---deleteInterForProduct-{responseHeader={status=0,QTime=54}}

再次查询websolr,结果已经不存在了。

所谓solr的更新操作,就是就是对相同id的文档重新添加一次。

        SolrQuery query = new SolrQuery();

        // 给query设置一个主查询条件:关键词
query.set("q", "id:num001"); QueryResponse response = solrClient.query(query); SolrDocumentList docs = response.getResults(); long numFound = docs.getNumFound(); System.out.println("总共查询到的文档数量: " + numFound); for (SolrDocument doc : docs) { System.out.println(doc.get("id"));
System.out.println(doc.get("title_ik"));
System.out.println(doc.get("content_ik")); }

高量查询

SolrQuery query = new SolrQuery();

        // 给query设置一个主查询条件:关键词
query.set("q", "台灯"); // 给query增加范围过滤查询条件
// query.addFilterQuery("product_price:[0 TO 200]"); // 给query增加布尔过滤条件
// query.addFilterQuery("-product_name:台灯"); /**
* 这一句等价于上面两句过滤条件设置
*/
// query.set("fq", "product_price:[0 TO 200] -product_name:台灯"); // 给query设置默认搜索域
query.set("df", "product_keywords"); // 设置返回结果的排序规则
query.setSort("product_price", ORDER.desc); // 设置分页参数
query.setStart(0);
query.setRows(20); QueryResponse response = solrClient.query(query); SolrDocumentList docs = response.getResults(); long numFound = docs.getNumFound(); System.out.println("总共查询到的文档数量: " + numFound); for (SolrDocument doc : docs) { System.out.println(doc.get("id"));
System.out.println(doc.get("product_price"));
System.out.println(doc.get("product_name"));
System.out.println(doc.get("product_catalog_name")); }

【Solr】solr的增删改查的更多相关文章

  1. 一个Solr搜索实例,增删改查+高亮+分页

    今天个人coding的模块测试,所以闲暇之余继续研究solr,然后顺带写了一个实例,随便搞的,solr真心不熟,期待认识热爱搜索的朋友,共同进步. 1.配置schema.xml文件[solr\coll ...

  2. 自己写的一个Solr搜索实例,增删改查+高亮+分页

    今天个人coding的模块测试,所以闲暇之余继续研究solr,然后顺带写了一个实例,随便搞的,solr真心不熟,期待认识热爱搜索的朋友,共同进步. 1.配置schema.xml文件[solr\coll ...

  3. Java solr 索引数据增删改查

    具体代码如下: import java.io.IOException; import java.util.*; import org.apache.solr.client.solrj.SolrClie ...

  4. 【ES】ElasticSearch初体验之使用Java进行最基本的增删改查~

    好久没写博文了, 最近项目中使用到了ElaticSearch相关的一些内容, 刚好自己也来做个总结. 现在自己也只能算得上入门, 总结下自己在工作中使用Java操作ES的一些小经验吧. 本文总共分为三 ...

  5. Dapper逆天入门~强类型,动态类型,多映射,多返回值,增删改查+存储过程+事物案例演示

    Dapper的牛逼就不扯蛋了,答应群友做个入门Demo的,现有园友需要,那么公开分享一下: 完整Demo:http://pan.baidu.com/s/1i3TcEzj 注 意 事 项:http:// ...

  6. ASP.NET从零开始学习EF的增删改查

           ASP.NET从零开始学习EF的增删改查           最近辞职了,但是离真正的离职还有一段时间,趁着这段空档期,总想着写些东西,想来想去,也不是很明确到底想写个啥,但是闲着也是够 ...

  7. 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(9)-MVC与EasyUI结合增删改查

    系列目录 文章于2016-12-17日重写 在第八讲中,我们已经做到了怎么样分页.这一讲主要讲增删改查.第六讲的代码已经给出,里面包含了增删改,大家可以下载下来看下. 这讲主要是,制作漂亮的工具栏,虽 ...

  8. 通过Java代码实现对数据库的数据进行操作:增删改查

    在写代码之前,依然是引用mysql数据库的jar包文件:右键项目-构建路径-设置构建路径-库-添加外部JAR 在数据库中我们已经建立好一个表xs :分别有xuehao  xingming    xue ...

  9. Hibernate全套增删改查+分页

    1.创建一个web工程 2.导入jar包 3.创建Student表 4.创建实体类 package com.entity; public class Student { private Integer ...

  10. 使用 Json.Net 对Json文本进行 增删改查

    JSON 已经成为当前主流交互格式, 如何在C#中使用 Json.Net 对Json文本进行 增删改查呢?见如下代码 #region Create (从零创建) public static strin ...

随机推荐

  1. [NOIP2012] 提高组 洛谷P1079 Vigenère 密码

    题目描述 16 世纪法国外交家 Blaise de Vigenère 设计了一种多表密码加密算法――Vigenère 密 码.Vigenère 密码的加密解密算法简单易用,且破译难度比较高,曾在美国南 ...

  2. Multiples of 3 and 5

    #include<stdio.h> int main(void){ int n1, n2,n3; n1=333*(3+999)/2; n2=199*(5+995)/2; n3=66*(15 ...

  3. Zabbix邮件报警-->Email

    Version:3.0.1 邮件报警有两种media 1.Email zabbix发送报警邮件到指定smtp服务器(使用系统自带的sendmail,发送邮箱是zabbix服务器的本地邮箱账号) 再由s ...

  4. shell命令bc

    简介 bc支持浮点数的精度运算(Bash不支持浮点数运算) 运行方式 一.CLI 二.PIPE 示例 一.浮点数运算 变量scale:设置小数点后面的位数  # 默认scale=0 echo &quo ...

  5. Objective-C 再谈OC指针,对比C++/Java/Swift

    1.Objective-C的指针 OC一直是人感觉比较变态的一门语言,为什么呢?因为它的每个变量都是指针型,多的都几乎让人忘了那个*的存在了. 比如我定义了一个Student的Class,new了st ...

  6. CF 268E Playlist(贪心)

    题目链接: 传送门 Playlist time limit per test:1 second     memory limit per test:256 megabytes Description ...

  7. JVM性能优化入门指南

    兵器谱 jps 列出正在运行的虚拟机进程,用法如下: jps [-option] [hostid] 选项 作用 q 只输出LVMID,省略主类的名称 m 输出main method的参数 l 输出完全 ...

  8. JSP+Servlet+javabean+mysql实现页面多条件模糊查询

    需求: 一般列表页上面会有一个查询框,有各种的查询条件组合,一般都采用模糊查询方式 ,以下以自己做的实例来说明一下实现方法: 需要实现的界面原型:要满足条件: 1.单选分类,点GO按扭 2.单独输入标 ...

  9. RMQ模板

    RMQ:范围最小值问题.给出一个n个元素的数组A1,A2,...,An,设计一个数据结构支持查询操作Query(L,R):计算min{AL,AL+1,...,AR}. 每次用一个循环来求最小值显然不够 ...

  10. angular评论星级指令

    地址: https://github.com/happen-zh/myStar 支持最大数,是否必填,回调,是否只读