我試圖更新solr文檔中的特定字段。出於測試目的,我使用作者字段。之後我會嘗試更新日期字段。我在cygwin終端上使用curl。這是我進入終端命令:Solr未顯示更新的文檔
curl http://localhost:8983/solr/MaharaPortfolioA/update -d '[{"url":"https://www.moopaed.de/mahara/view/view.php?id=6920","author":{"set":"Herbert"}}]'
要檢查是否成功,我使用下面的命令並得到這樣的響應:
$ curl http://localhost:8983/solr/MaharaPortfolioA/get?id="https://www.moopaed.de/mahara/view/view.php?id=6920"
{
"doc":
{
"url":"https://www.moopaed.de/mahara/view/view.php?id=6920",
"portfolio_title":"IT 2 Portfolio - View 2",
"title":"Themenschwerpunkt Informationssysteme - moopaed mahara",
"author":"Herbert",
"indexDate":"2017-04-05T22:04:10Z",
"nrImages":8,
"nrWords":7474,
"nrUploadedImages":6,
"nrLinks":0,
"cohort":"IT3 WS 2013/2014",
"lecture":"OOP",
"nrWikipediaImages":0,
"nrWikipediaLinks":0,
"_version_":1564023239370342400}}
根據響應一切似乎很動聽:作者的價值從「路易莎」改爲「赫伯特」。但如果我使用查詢搜索「Herbert」,我不會得到任何結果(http://localhost:8983/solr/MaharaPortfolioA/select?q=Herbert)。在尋找解決方案時,我發現該問題存在不同的可能原因:
- 該特定字段必須設置爲存儲=「true」。它是爲作者設定的。
- 我更新後,我通過solr管理面板中的「優化」按鈕優化了核心。
- 我做了一個承諾:http://localhost:8983/solr/MaharaPortfolioA/update?commit=true。我用這個解決方案:Link
我沒有進一步的想法爲什麼我的搜索「赫伯特」沒有給我答覆。
- 是因爲我的唯一鍵是一個url而不是整數值?
- 還是因爲我通過Cygwin使用Curl?此外,cURL(URL的客戶端)和curl(編程語言爲
語言)之間的區別是 。如果教程使用這個術語,他們是否指cURL? - 另一個原因可能是「作者」在索引時被過濾和標記。也許我的更新沒有通過這些操作?
在此先感謝
日誌說什麼? – Oyeme
@Oyeme當我試圖改變「nrWords」的日誌是: '2017-04-07 14:02:28.745信息(qtp870698190-14)[x:MaharaPortfolioA] oasupLogUpdateProcessorFactory [MaharaPortfolioA] webapp =/solr path =/update params = {} {add = [https://www.moopaed.de/mahara/view/view.php?id=6093(1564028435152502784)]} 0 15' – Alexander
您是否嘗試將commit = true添加到您的鏈接中? curl curl http:// localhost:8983/solr/MaharaPortfolioA/update?commit = true -d'[{「url」:「https://www.moopaed.de/mahara/view/view.php?id=6920 「,」author「:{」set「:」Herbert「}}]'(最後,commit = true參數告訴Solr提交我們發送給它的更新) – Oyeme