solr后台操作Documents之增刪改查


偶爾會用到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日


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM