• solr后台操作Documents之增删改查


    偶尔会用到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 request: 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日

  • 相关阅读:
    git 远程仓库的使用
    git 以及 工作区 版本库 暂存区
    git repo gerrit 的关系
    【转】c# delegate
    【转】分析.net中的object sender与EventArgs e
    如果plsql连接没问题,但程序中报ORA-12504的错误
    【转】C# String 与 Char[] 数组 相互转换
    【转】C#日期时间格式化
    PLSQL导出语句的查询结果
    oracle取order by的第一条数据
  • 原文地址:https://www.cnblogs.com/rainersha/p/10718987.html
Copyright © 2020-2023  润新知