solr后台操作Documents之增删改查

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

1.添加

solr后台操作Documents之增删改查

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

结果:

solr后台操作Documents之增删改查

说明:id为主键

2.更新

solr后台操作Documents之增删改查

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

结果:

solr后台操作Documents之增删改查

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

3.删除

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

solr后台操作Documents之增删改查

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

结果:

solr后台操作Documents之增删改查

 

4.补充

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

solr后台操作Documents之增删改查

 {"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不存在,不会报错,但没有效果。

 

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

solr后台操作Documents之增删改查

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后台操作Documents之增删改查

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

 

 2019年4月16日

上一篇:vs code 快速新建项目


下一篇:bat脚本的学习