繁体   English   中英

可以在 solr usinf tlog 文件中恢复文档

[英]It is possible to restore document in solr usinf tlog file

每次我在 solr 中添加/更新文档时,tlog 文件都会维护每次提交的请求查询。

示例:当我使用更新命令提交时:

curl -XPOST -H 'Content-Type: application/json' 'http://localhost:8983/solr/sample_list/update' --data-binary '{"add":{"doc":{ "id":"7","name":"test dfasdata jan565765"}},"commit":{}}'

tlog 文件内容如下:

^B
^B)SOLR_TLOGA'strings<83>"id$name)版本^@^@^@)<83>A^G^VYîÖ·^@^@^@^P^C^H?<80>^@^ @á!7â7test dfasdata jan565765ã^G^VYîÖ·^@^@^@^@^@^@8<83>D`-SOLR_TLOG_END^@^@^@^Q

是否可以在 tlog 文件中执行请求查询以进行不可读格式的恢复目的?

我遇到了同样的问题,我找到了解决方案/解决方法:

  1. 打开你的 tlog 文件
  2. 删除文件末尾的“ƒD`-SOLR_TLOG_END”
  3. 启动solr
  4. tlog 文件的内容被索引/提交到索引。

在我的测试用例中,文件夹中只有一个 tlog 文件。

要找出您应该删除的字符,只需在“文档”下的管理网络界面中添加一个示例文档,其中“提交范围”为 100000 值,然后立即停止 solr。
在 solr 执行提交之前停止 solr 很重要(在 time 内提交应该很高)。
然后将新的 tlog 文件复制到桌面或其他文件夹中。 再次启动solr并比较两个文件,然后你会看到tlog添加到索引后solr附加了“ƒD`-SOLR_TLOG_END”字符串。

简而言之:如果 solr 在提交前宕机,tlog 用于将文档添加到索引中; 如果 solr 再次启动,tlog 用于添加尚未提交到索引的文档。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM