Solr 4測試版已發佈,GA版本即將推出。部分文檔更新已經有一段時間了,這裏解釋如下:http://solr.pl/en/2012/07/09/solr-4-0-partial-documents-update/solrj api部分文檔更新
但是,我還沒有想出如何使用solrj api。
有誰知道solrj可以嗎?或者solrj對此功能無法正常使用?
更新:我在郵件列表中描述(見回覆here),我發現,在solrj API,一個SolrInputField的值可以是地圖 - 它並不一定是一個簡單的標值。 如果它是地圖,則solrj會向該字段的xml元素添加附加的update
屬性。 例如, 此代碼:
SolrInputDocument doc = new SolrInputDocument();
Map<String, String> partialUpdate = new HashMap<String, String>();
partialUpdate.put("set", "foo");
doc.addField("id", "test_123");
doc.addField("description", partialUpdate);
產生這個文件:
<doc boost="1.0">
<field name="id">test_123</field>
<field name="description" update="set">foo</field>
</doc>
在這個例子中,我用了「設置」這個額外的屬性,但它不工作。 Solr不會按照我的預期更新該字段。 根據此鏈接: http://solr.pl/en/2012/07/09/solr-4-0-partial-documents-update/ 有效值爲「設置」和「添加」。
有什麼想法?
這可以幫助你 [Solr的更新] [1] [1]:http://stackoverflow.com/questions/8365713/solr-update-specific-fields-rather-than -entire-document – prashant
@prashant該問題的答案已過時。在這個問題的重複中還有另一個答案,但是它不能幫助 – Yoni
甚至可以使用'ArrayList'插入值列表,那麼'partialUpdate'將被聲明爲'Map partialUpdate = new HashMap ();'和作爲'add'的鍵 –
veer7