Solr 4 ベータ版がリリースされました。GA バージョンはまもなくリリースされます。ここで説明されているように、部分的なドキュメントの更新はしばらく前から行われています: http://solr.pl/en/2012/07/09/solr-4-0-partial-documents-update/
ただし、solrj apiでそれを行う方法がわかりませんでした。
solrjで可能かどうかは誰にもわかりますか? それとも、solrj はこの機能に対応していないのでしょうか?
更新:メーリング リストで説明したように (返信はこちらを参照)、solrj API では、SolrInputField の値をマップにすることができます。単純なスカラー値である必要はありません。マップの場合、solrj は追加のupdate
属性をフィールドの xml 要素に追加します。たとえば、このコード:
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>
この例では、この追加属性に「set」という単語を使用しましたが、機能しません。Solr が期待どおりにフィールドを更新しません。このリンクによると: http://solr.pl/en/2012/07/09/solr-4-0-partial-documents-update/ 有効な値は「設定」と「追加」です。
何か案が?