1. 程式人生 > >solr後臺操作Documents之增刪改查

solr後臺操作Documents之增刪改查

add 圖片 known delete ron 也會 條件語句 from rom

偶爾會用到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\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裏的schema字段中required="true"必傳字段有兩個,少傳一個就會報錯,淚牛滿面。

2019年4月16日

solr後臺操作Documents之增刪改查