嗨,我可以更新Solr PHP中的文档,而不必先删除它并添加一个全新的文档?如何更新Solr PHP中的文档?
3
A
回答
4
当您想要更新文档时,只需使用同一组必填字段调用函数“addDocument”即可。 Solr将在内部更新文档。
Solr不支持更新文档中的单个字段,如果多数民众赞成你正在寻找。来源:SOLR-139
希望它有帮助!
2
这是SOLR 4.0新 -
正如我在Update specific field on SOLR index说,它现在可以更新的字段。这就是我的回答:
请参考this document有关“部分文档更新”功能在Solr的4.0
Solr的4.0,处于测试阶段在此张贴的时间,将是最终的,制法准备在大约一个月内,根据Road Map。
此功能可以更新字段,甚至可以将值添加到multiValued字段。
毛里西奥在2010年的回答是正确的,但今天就是这样。
2
这是我要做的事:
include "bootstrap.php";
$options = array
(
'hostname' => SOLR_SERVER_HOSTNAME,
'login' => SOLR_SERVER_USERNAME,
'password' => SOLR_SERVER_PASSWORD,
'port' => SOLR_SERVER_PORT,
);
$client = new SolrClient($options);
$query = new SolrQuery();
// Find old Document
$query->setQuery('id:1000012');
$query->setStart(0);
$query->setRows(1);
$query_response = $client->query($query);
// I had to set the parsemode to PARSE_SOLR_DOC
$query_response->setParseMode(SolrQueryResponse::PARSE_SOLR_DOC);
$response = $query_response->getResponse();
$doc = new SolrInputDocument();
// used the getInputDocument() to get the old document from the query
$doc = $response->response->docs[0]->getInputDocument();
if ($response->response->numFound) {
$second_doc = new SolrInputDocument();
$second_doc->addField('cat', "TESTCAT");
// Notice I removed the second parameter from the merge()
$second_doc->merge($doc);
$updateResponse = $client->addDocument($second_doc);
$client->commit();
}
相关问题
- 1. Solr文档更新
- 2. 在solr中更新文档
- 3. 使用Java更新Solr中的文档
- 4. SOLR 6.5.1中的部分文档更新
- 5. 使用SolrJ更新Solr中的文档
- 6. 如何用JSON更新Solr中的多个文档?
- 7. Solr的:如何部分更新Solr的文档中使用正则表达式
- 8. Solr未显示更新的文档
- 9. 使用Solr DataImportHandler更新文档
- 10. 使用查询更新solr文档?
- 11. Solr部分文档索引更新
- 12. Solr:如何创建新文档
- 13. 如何更新solr索引?
- 14. 我如何知道在solr索引中更改,更新和索引的文档?
- 15. Solr:如何使用唯一ID更新文档
- 16. 重新索引SOLR文档
- 17. 如何索引SOLR中的文档?
- 18. 如何拦截Solr中的文档
- 19. 如何更新MongoDB中的子文档?
- 20. 如何更新CouchDB中的文档
- 21. 如何更新Mongodb文档?
- 22. 如何更新DocumentDb文档?
- 23. 更新Solr数据库中文档的最简单方法
- 24. 如何重新编制所有文档Solr中的数据
- 25. 如何使用HttpWebRequest在Solr中执行文档的原子更新
- 26. 如何更新mongodb中的所有文档PHP
- 27. solr delta import用所更新的文件替换所有文档
- 28. 如何更新SOLR中的数据?
- 29. 如何更新Solr 4中的数据?
- 30. 在solr(django webapp)中批量更新文档
是的,我明白这一点,但我还是谢谢你! – einstein