zoukankan      html  css  js  c++  java
  • 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日

  • 相关阅读:
    Java EE 经验
    Java界面设计 Swing(1)
    Java开源库
    Java Abstract Class & Interface
    Selenium WebDriver Code
    Json在PHP与JS之间传输
    Live YUV420 和 OpenCV Mat 的互相转换
    Visual C++ 升级到 Visual Studio
    Sentiment Analysis resources
    C# XMLDocument
  • 原文地址:https://www.cnblogs.com/rainersha/p/10718987.html
Copyright © 2011-2022 走看看