solr删除数据的4种方便快捷的方式和更新数据的方式

solr删除数据的4种方便快捷的方式

 

1、在solr客户端,访问你的索引库(我认为最方便的方法)

1)documents type 选择 XML 
2)documents 输入下面语句
<delete><query>*:*</query></delete>
<commit/>

3)、

点击Submit Document 即可

2、solr-用url,使用 stream 相关参数删除数据:

如:

根据id删除数据

http://localhost:8080/solr/update/?stream.body=

<delete><id>id值</id></delete>&stream.contentType=text/xml;charset=utf-8&commit=true

根据查询参数条件删除数据

http://localhost:8080/solr/update/?stream.body=

<delete><query>参数</query></delete>&stream.contentType=text/xml;charset=utf-8&commit=true

 

 

stream 相关参数:

stream.file=(服务器本地文件);

stream.url 分别指到你的删除文本,这里是直接字符串内容用 stream.body 参数。

commit 参数是指提交,提交了才能看到删除效果。

删除指令有两种,一是:用 <id></id> 包装;二是:<query></query> 包装。指令都很明显,一个是 id 值(是在 schema.xml 的 uniqueKey 所指字段的值,而不是索引内部的 docId);query 值是查询串,如:title:"solr lucene"。

 

3、curl 方式:

 

  1. curl  http://localhost:8080/update --data-binary  "<delete><query>title:abc</query></delete>"  -H 'Content- type :text/xml; charset=utf-8'  
  2.   
  3. #删除完后,要提交   
  4.   
  5. curl  http://localhost:8080/update --data-binary  "<commit/>"  -H 'Content- type:text/xml; charset=utf-8'  

4、用自带的 post.jar,在 apache-solr-XXX/example/exampledocs 目录下:

  1. java -Ddata=args  -jar post.jar  "<delete><id>42</id></delete>"   
  2.   
  3. #怎么使用 post.jar 查看帮助   
  4.   
  5. java -jar post.jar -help 

小结:

方式1就是直接可以告诉服务器从那些地方去删除的数据内容;

方式2、3原理一样,直接 POST xml 数据过去;

///更新数据/

注意点:(根据id更新数据,有数据的字段不要遗漏了,原有的数据不要覆盖没有了) 

在如下页面,选择/update ,文档格式选择json ,然后submit 提交。这样 索引就增加上了。修改与增加一样,都是/update ,删除为/delete 。 
成功之后,我们去query里查询数据就能查到我们刚添加的数据. 
这里写图片描述

Request-Handler(qt): 要进行的操作(update\delete) 
Document Type:类型,有JSON、XML等格式 
Document(s): 内容,手动写的内容。 
Commit Within: 
Overwrite: 为true,说明如果id重复则覆盖以前的值;为false说明如果id重复不覆盖以前的值. 
Boost: 好像是什么版本,没用过

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值