1. 程式人生 > >五、solr刪除資料的四種方法

五、solr刪除資料的四種方法

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 方式:

  1. curl  http://localhost:8080/update --data-binary  "<delete><query>title:abc</query></delete>"
      -H 'Content- type :text/xml; charset=utf-8'  
  2. #刪除完後,要提交 
  3. 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. #怎麼使用 post.jar 檢視幫助 
  3. java -jar post.jar -help 

小結:

方式1就是直接可以告訴伺服器從那些地方去刪除的資料內容;

方式2、3原理一樣,直接 POST xml 資料過去;