簡體   English   中英

更新Solr中的特定字段

[英]Update specific field in Solr

我正在使用Solr6.2,想要更新文檔中的特定字段,就像在關系數據庫中那樣:update table_a set field_x = filed_x + 1;

如何在Solr中做到這一點? 提前致謝。

為此,您需要將所有字段都設置為已存儲,因為您隨后可以使用Solr對“ 更新文檔部分”的支持。

然后,您可以使用inc命令來增加文檔中的字段:

{
    "id":"mydoc",
    "popularity":{"inc":20}
}

由於內部更新是“檢索文檔,更改值,重新索引文檔”,因此必須將所有字段設置為已存儲。 如果您在6.2中使用默認的無模式.. schema ..,則默認情況下將存儲所有字段。 如果您使用的是自定義架構,或者已通過Schema API手動更改了字段,則必須確保將它們都設置為已存儲。

更新:

對於SolrJ,這樣的事情應該起作用( 來自Yonik的帖子 ):

SolrInputDocument doc = new SolrInputDocument();

doc.addField("id", "test");
Map<String, String> cmd2 = new HashMap<>();
cmd1.put("inc", "20");
doc.addField("field1", cmd1);
client.add(collection, doc);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM