Json Solr原子更新
我有以下步骤:Json Solr原子更新,json,solr,Json,Solr,我有以下步骤: 更新数据库中的记录 使用json将记录添加到solr 在数据库中提交记录 我使用updatejson调用?commit=true插入记录 但这一步需要很长时间。有更好的方法保持同步吗? 记录需要存储在solr中。我不介意它可以立即搜索。提交很昂贵。不要在每次添加后提交。您可以每X个请求提交一次(其中X取决于您的延迟要求和每秒写入次数),也可以每X分钟单独提交一次(使用/update?commit=true)有两个方面: 保持数据库和Solr的同步 快点 为了可靠地保持同步,您
记录需要存储在solr中。我不介意它可以立即搜索。提交很昂贵。不要在每次添加后提交。您可以每X个请求提交一次(其中X取决于您的延迟要求和每秒写入次数),也可以每X分钟单独提交一次(使用
/update?commit=true
)有两个方面:
- 保持数据库和Solr的同步
- 快点
您还可以尝试使用比硬提交更便宜的。看见然后,URL将以
update?softCommit=true
结尾。本文对软提交和硬提交进行了很好的讨论:。我通过执行?commitWithin=15000解决了这个问题
这会保留数据,但不会将数据与索引合并。每15秒一次。足以阻止我的进程。加载100000条记录需要几天到几个小时 当你说它很慢时,你的意思是?commit=true阻塞了你的进程吗?我知道。但是我通过做一个?commitWithin=15000Ok解决了我的问题。commitWithin的另一个替代方法是waitSearcher=false&waitFlush=false。