我使用autocommit和softcommit功能遇到問題。當我使用CURL時,Autocommit/Softcommit不起作用
我用這個語法,捲曲更新我的數據:
curl $url/solr/update/csv -F "stream.file=$folder/$file" -F "commit=false" -F "header=false" -F "fieldnames=`cat $header`"
我已經在我的solrconfig.xml中設定的自動提交:
<autoCommit>
<maxTime>10000</maxTime>
<openSearcher>false</openSearcher>
</autoCommit>
我已經編入索引的文檔的集合和在索引結束時(索引需要幾分鐘的時間)沒有文檔在我的solr管理器中可見...當我重新加載或當我執行顯式提交時,那麼我的所有文檔都可見。
我知道如果我在「commit = true」中更改「commit = false」,我的所有文檔都將被編入索引。但是我知道在每次更新之後進行提交併不是一個好的行爲。
我是否錯過了AutoCommit和SoftCommit的設置?
謝謝回覆!我會嘗試commitWithin功能。但還有一個問題,我可以寫這樣的東西來嘗試autocommit和soft commit:curl $ url/solr/update/csv -F「stream.file = $ folder/$ file」-F「autoCommit = 10000」-F「 header = false「-F」fieldnames ='cat $ header'「。這是一個正確的語法?我需要比較這些不同提交策略的索引性能。 – Corentin
CommitWithin本質上是通過url參數公開的autoCommit,因爲它僅在每個文檔級別公開相同的行爲,而不是在整個索引中公開。 SoftCommit未曝光AFAIK。這裏是可用的提交參數列表 - http://wiki.apache.org/solr/UpdateXmlMessages#A.22commit.22_and_.22optimize.22 –
太棒了!有我需要的一切。非常感謝。 – Corentin