偶尔会用到solr后台操作一些数据,比如测试等一些情况。但具体用的时候可能会忘记,或者搜的时候结果不全,在此略详细的记一下。

1.添加

{"id":6,"title":"change.me"}

结果:

说明:id为主键

2.更新

{"id":6,"title":{"set":"原子更新"}}

结果:

说明:更新过程是先删除,再添加

3.删除

删除和添加数据不同,内容是一个条件语句,所以要用xml形式

<delete><query>id:6</query></delete>
<commit/>

结果:

4.补充

如果添加的数据里有字段是schema里没有的会报错

{"id":7,"titletitle":"双份更强力"}        报错:"msg": "ERROR: [doc=7] unknown field 'titletitle'",

同理更新的数据里有字段是schema里没有的也会报错。

如果要按时间删除,语句:

<delete><query>update_time:[0 TO 1554100200]</query></delete>
<commit/>

删除update_time(更新时间)小于1554100200的所有数据,如果update_time不存在,不会报错,但没有效果。

最后补充:在工作中遇到一种添加数据情况出错情况,如下

Bad Request\n\n\n\nrequest: http://10.200.3.66:8983/solr/req_all_shard1_replica3/update?update.chain=add-unknown-fields-to-the-schema&update.distrib=TOLEADER&distrib.from=http%3A%2F%2F10.200.3.67%3A8983%2Fsolr%2Freq_all_shard1_replica4%2F&wt=javabin&version=2

情况:只有在这一个solr上发现这个问题,其它solr都是正常的,它这个报错也是报的不清不楚。思索良久之后发现了问题所在

这个solr里的schema字段中required="true"必传字段有两个,少传一个就会报错,泪牛满面。

2019年4月16日

solr后台操作Documents之增删改查的更多相关文章

  1. C#操作Excel数据增删改查(转)

    C#操作Excel数据增删改查. 首先创建ExcelDB.xlsx文件,并添加两张工作表. 工作表1: UserInfo表,字段:UserId.UserName.Age.Address.CreateT ...

  2. C#操作Excel数据增删改查示例

    Excel数据增删改查我们可以使用c#进行操作,首先创建ExcelDB.xlsx文件,并添加两张工作表,接下按照下面的操作步骤即可 C#操作Excel数据增删改查. 首先创建ExcelDB.xlsx文 ...

  3. sqlite数据库操作详细介绍 增删改查,游标

    sqlite数据库操作详细介绍 增删改查,游标     本文来源于www.ifyao.com禁止转载!www.ifyao.com Source code     package com.example ...

  4. java操作数据库:增删改查

    不多bb了直接上. 工具:myeclipse 2016,mysql 5.7 目的:java操作数据库增删改查商品信息 test数据库的goods表 gid主键,自增 1.实体类Goods:封装数据库数 ...

  5. python操作三大主流数据库(8)python操作mongodb数据库②python使用pymongo操作mongodb的增删改查

    python操作mongodb数据库②python使用pymongo操作mongodb的增删改查 文档http://api.mongodb.com/python/current/api/index.h ...

  6. python操作mysql数据库增删改查的dbutils实例

    python操作mysql数据库增删改查的dbutils实例 # 数据库配置文件 # cat gconf.py #encoding=utf-8 import json # json里面的字典不能用单引 ...

  7. Asp.Net操作MySql数据库增删改查

    Asp.Net操作MySql数据库增删改查,话不多说直接步入正题.git源码地址:https://git.oschina.net/gxiaopan/NetMySql.git  1.安装MySQL数据库 ...

  8. SpringBoot操作MongoDB实现增删改查

    本篇博客主讲如何使用SpringBoot操作MongoDB. SpringBoot操作MongoDB实现增删改查 (1)pom.xml引入依赖 <dependency> <group ...

  9. Java数据库连接——JDBC基础知识(操作数据库:增删改查)

    一.JDBC简介 JDBC是连接java应用程序和数据库之间的桥梁. 什么是JDBC? Java语言访问数据库的一种规范,是一套API. JDBC (Java Database Connectivit ...

随机推荐

  1. SpringBoot+JTA+Mybatis

    版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/sinat_36596988/article ...

  2. Base64().encodeBase64Chunked导致换行符的问题

    String linkStr=new String(new Base64().encodeBase64Chunked(new String("conferid="+cid+&quo ...

  3. FileInputStream读取的两种方法:逐字节读;以字节数组读取

    1:read() : 从输入流中读取数据的下一个字节,返回0到255范围内的int字节值.如果因为已经到达流末尾而没有可用的字节,则返回-1.在输入数据可用.检测到流末尾或者抛出异常前,此方法一直阻塞 ...

  4. c实现双向链表

    实现双向链表:创建.插入.删除 #include <iostream> #include <stdio.h> #include <string.h> #includ ...

  5. Mongodb java.util.NoSuchElementException:null 已解决

    public static String find(){ String a=""; try{ MongoCollection<Document> collection ...

  6. 【CF589 E】Another Filling the Grid

    一个很套路的容斥裸题,这里记录一下scb 的切题过程 Description 有一个 \(n\times n\) 的矩阵,你需要往每格里填一个 \([1,k]\) 的整数,使得每一行.每一列的最小值都 ...

  7. java学习之路(1)

    java中的main()方法: 一.java主类中的主方法形式: public static void main(String[] args){ //TODO } 二.个部分解释: (1).publi ...

  8. dpkg 删除 百度网盘 程序

    sudo dpkg -l baidu* 查询得到具体名字 sudo dpkg --purge baidunetdisk 解决

  9. RAFT选举算法-分布式数据库困惑

    在做HIS研发工作的时候一直想完善其数据组件,想做一个分布式的数据库支持系统.但一直以来都不清楚这个选举算法应怎么做,原来有一个叫raft的算法https://www.cnblogs.com/just ...

  10. 运维自动化之ansible

    Ansible简介 Ansible是一个简单的自动化运维管理工具,基于Python语言实现,由Paramiko和PyYAML两个关键模块构建,可用于自动化部署应用.配置.编排task(持续交付.无宕机 ...