如何在solr数据库中更新多个没有id的文档?

如何在solr数据库中更新多个没有id的文档?,solr,Solr,我的solr数据库中有1.000.000条记录。 我想更新没有唯一密钥id的所有记录, 但我得到错误唯一的密钥是必需的! 我的solr文档是: { id = 001, name="Joe", city = [Hyderabad], phone = [9848022337] } 这是我的密码 //Preparing the Solr client //Preparing the Solr document SolrInputDocument do

我的solr数据库中有1.000.000条记录。 我想更新没有唯一密钥id的所有记录, 但我得到错误唯一的密钥是必需的! 我的solr文档是:

  {
  id = 001, 
  name="Joe", 
  city = [Hyderabad], 
  phone = [9848022337]
  }
这是我的密码

  //Preparing the Solr client 

  //Preparing the Solr document 

  SolrInputDocument doc = new SolrInputDocument();  

  Map map=new HashMap();
  map.put("set","Ahmet");
  doc.addField("name", map);

  // or adding id list 
  // List ids = new ArrayList();
 // doc.addField("id",ids); 


  updateRequest.add( doc );  
  UpdateResponse rsp = updateRequest.process(Solr);
我该怎么做,还有其他选择吗

similar sql is update tableName set name="ahmet"
你不能

Solr中的任何更新都必须引用现有文档的
uniqueKey
——没有类似于查询更新或类似于
update foo SET bar='baz'的功能,其中field='spam'
uniqueKey
字段用于定义是创建新文档还是覆盖旧文档

在您的示例中,似乎有一个唯一的
id
字段,但如果不是这样,您可以。然后,在更新现有文档时,您必须引用该id。

您不能

Solr中的任何更新都必须引用现有文档的
uniqueKey
——没有类似于查询更新或类似于
update foo SET bar='baz'的功能,其中field='spam'
uniqueKey
字段用于定义是创建新文档还是覆盖旧文档


在您的示例中,似乎有一个唯一的
id
字段,但如果不是这样,您可以。更新现有文档时,您必须引用该id。

我有唯一id,但我想更新所有记录,如果有其他选择,请检索记录并通过引用其id逐个更新。我有唯一id,但我想更新所有记录,如果有其他选择,请检索记录并通过引用其ID逐个更新。