五、solr刪除資料的四種方法
阿新 • • 發佈:2019-02-01
1、在solr客戶端,訪問你的索引庫(我認為最方便的方法)
1)documents type 選擇 XML
2)documents 輸入下面語句
<delete><query>*:*</query></delete>
<commit/>
4、
點選Submit Document 即可
2、solr-用url,使用 stream 相關引數刪除資料:
如:
根據id刪除資料
根據查詢引數條件刪除資料
stream 相關引數:
stream.file=(伺服器本地檔案);
stream.url 分別指到你的刪除文字,這裡是直接字串內容用 stream.body 引數。
commit 引數是指提交,提交了才能看到刪除效果。
刪除指令有兩種,一是:用 <id></id> 包裝;二是:<query></query> 包裝。指令都很明顯,一個是 id 值(是在 schema.xml 的 uniqueKey 所指欄位的值,而不是索引內部的 docId);query 值是查詢串,如:title:"solr lucene"。
3、curl 方式:
-
curl http://localhost:8080/update --data-binary "<delete><query>title:abc</query></delete>"
- #刪除完後,要提交
- curl http://localhost:8080/update --data-binary "<commit/>" -H 'Content- type:text/xml; charset=utf-8'
4、用自帶的 post.jar,在 apache-solr-XXX/example/exampledocs 目錄下:
-
java -Ddata=args -jar post.jar "<delete><id>42</id></delete>"
- #怎麼使用 post.jar 檢視幫助
- java -jar post.jar -help
小結:
方式1就是直接可以告訴伺服器從那些地方去刪除的資料內容;
方式2、3原理一樣,直接 POST xml 資料過去;