使用节点模块solr-client添加和更新数据到Solr-4.3.0

我举一个例子来解释这个情况。 假设我有索引到索尔的数据为:

{ "id" : "872919092", "filename" : "science_book", "path" : "/local/abc/" } 

现在我想修改索引到索引号为id : 872919092 。 我需要更改filename : science_bookfilename : history_book和添加新的属性topic : mughal到相同的索引数据保持path不变。 我不想再次通过path ,因为没有改变,已经索引到Solr。 根据Solr的文档,这是可能的。 我如何使用nodejs solr-client 更新方法来做到这一点? 我想实现下面的场景:

  1. 如果Solr索引数据中不存在具有特定id的属性,则将其添加到已编制索引的数据中,以保持先前索引的数据不变。
  2. 如果属性已经存在于具有特定id的Solr索引数据中,请更改先前索引的属性的值,使其他索引数据保持不变。

我传递的数据添加到Solr作为一个散列,这是一个组合,只有新的属性被添加到已经索引的数据在Solr和以前索引的数据的价值改变到Solr。

注意:我正在使用Solr-4.3.0和节点模块solr-client将数据添加到Solr。

您将需要添加设置或添加到该字段并删除其余的字段。 你需要id和字段。

 var doc = { "id" : "872919092", filename : {"set" : "history_book"}, topic : {"add" : "mughal"} } client.add(doc) 

另外请注意,您可以使用inc或dec来递增或递减int