Recoll로 생성된 데이터베이스에서 텍스트 파일과 디렉터리 구조를 복구하시겠습니까?

Recoll로 생성된 데이터베이스에서 텍스트 파일과 디렉터리 구조를 복구하시겠습니까?

얼마전에 달려가서기록해당 파티션에 있는 모든 파일(텍스트 파일, pdf, djvu, html 등)의 내용 내에서 모든 텍스트 정보를 빠르게 검색할 수 있도록 파티션에 데이터베이스를 생성합니다.

이제 Recoll이 데이터베이스를 생성한 파티션이 실수로 삭제되었지만 Recoll의 데이터베이스는 영향을 받지 않은 다른 파티션에 저장되어 있기 때문에 Recoll에서 삭제된 파일을 계속 검색할 수 있습니다.

  1. 삭제된 파일의 텍스트 콘텐츠에서 키워드를 검색하면 키워드 주위에 한두 줄의 컨텍스트가 표시되므로 삭제된 각 텍스트 콘텐츠를 복구할 수 있다는 희망을 갖게 됩니다. 그러나 Recoll이 찾은 삭제된 파일에서 "미리보기" 또는 "열기"를 클릭하면 Recoll은 더 이상 존재하지 않는 파일을 열려고 시도하는데 당연히 실패합니다. 그러면 Recoll의 데이터베이스에서 삭제된 텍스트 파일을 복구할 수 있는지 알고 싶습니다.

  2. 이렇게 삭제된 파일의 텍스트 내용에서 키워드를 검색하면 발견된 각 파일의 전체 경로도 볼 수 있는데, 그렇다면 Recoll의 데이터베이스에서 내 파티션의 디렉터리 구조를 복원할 수 있는지 궁금합니다.

감사드립니다!

답변1

먼저, 데이터 손실에 대해 애도를 표합니다. 이 답변은 거의 8년이 지난 후에는 귀하에게 유용하지 않을 수 있지만, 다른 사람에게는 도움이 되기를 바라면서 답변해 드리겠습니다.

Recoll의 데이터베이스에서 삭제된 텍스트 파일을 복구할 수 있는지 알고 싶습니다.

예, 재구성된 문서 텍스트를 복원할 수 있지만 몇 가지 주의 사항이 있습니다.

Recoll 데이터베이스에서 내 파티션의 디렉터리 구조를 복원할 수 있는지 알고 싶습니다.

예, 몇 가지 주의 사항을 적용하면 파일 경로를 복원하고 여기에서 디렉터리 구조를 다시 구축할 수 있습니다.

xadump이는 다음 명령을 사용하여 수행할 수 있습니다 recoll.

이것덤프 파일명령은 Recoll 인덱서로 구성된 Xapian 인덱스에 대한 하위 수준 액세스 및 진단 도구입니다. 옵션을 사용하여 사용할 인덱스 디렉터리를 지정하세요.-디.

옵션 -D, -X, -T 및 -r은 단일 항목을 사용합니다.도시옵션으로 지정된 매개변수-나.-디문서 데이터 기록을 표시합니다.

[. . . ]

-아르 자형인덱스 데이터에서 재구성된 문서 텍스트를 인쇄합니다.

[. . . ]

옵션이 있습니다-큐, xadump는 주어진 용어 인수를 사용하여 인덱스에 대해 간단한 AND 쿼리를 수행합니다.

https://www.lesbonscomptes.com/recoll/manpages/xadump.1.html

예를 들어 "독립형"을 검색하려면 다음 명령이 작동합니다.

xadump -d ~/.recoll/xapiandb/ -q 'independence' | less

쿼리 결과의 첫 번째 부분은 다음과 같습니다.

DB: ndocs 100204 lastdocid 105155 avglength 7675.26
DB: terms are stripped
Performing query `Query(independence)'
Estimated results: 659

결과 중 하나는 다음과 같습니다.

문서 ID 89464 98% [url=file:///home/nathaniel/Dropbox/archive/2020/personal/projects/public-domain-documents/declaration-of-independent-html/index.html

mtype=텍스트/html

fmtime=01585682999

원래 문자 집합=utf-8

f 바이트=9365

pcbyte=9365

분할된 바이트=8124

시그=93651585683000

캡션= 미합중국의 독립선언문

요약=?!#@ 미국의 독립 선언 인간사 과정에서 한 민족이 다른 민족을 결속시키는 정치 세력을 해체하고 다른 국가의 권력을 장악하는 것이 필요해졌습니다. 이것

파일명=index.html

]

file://이렇게 하면 경로가 포함된 URL을 볼 수 있습니다 .

/home/nathaniel/Dropbox/archive/2020/personal/projects/public-domain-documents/declaration-of-independent-html/index.html

물론 전체 디렉토리 구조를 다시 작성하려면 각 문서에 대해 이 작업을 수행해야 합니다. 이를 자동화하는 것이 가능할 수도 있지만 제대로 수행하려면 까다롭고 시간이 많이 걸립니다. 이는 또한 인덱싱되지 않은 파일을 다시 작성하는 데 도움이 되지 않습니다.

다음 명령을 사용하여 문서 텍스트를 재구성할 수 있습니다.

xadump -d ~/.recoll/xapiandb/ -i 89464 -r

이는 다음과 같습니다(간결함을 위해 세 번째 줄을 잘랐습니다).

데이터베이스: ndocs 100204 Lastdocid 105155 평균 길이 7675.26

DB: 해당 조항이 삭제되었습니다.

XP XPhome XPnathaniel XPDropbox XParchive XP2020 XPpersonal XPprojects, 한 사람이 다른 사람과 묶는 정치적 유대를 해소하고 자연법과 법에 따라 지구의 권력 사이에서 독립적이고 평등한 위치를 차지하는 것이 필요합니다. 자연의 신께서는 그들에게 인간의 의견을 합당하게 존중하게 하시고, 그들이 헤어지게 된 원인을 밝히도록 요구하셨습니다. [...]

원본 HTML 파일은 다음과 같습니다.

<h1>
  THE DECLARATION OF INDEPENDENCE OF THE UNITED STATES OF AMERICA
</h1>
<p>
When in the Course of human events, it becomes necessary for one people to
dissolve the political bands which have connected them with another, and to
assume, among the Powers of the earth, the separate and equal station to
which the Laws of Nature and of Nature's God entitle them, a decent respect
to the opinions of mankind requires that they should declare the causes
which impel them to the separation.
</p>

여기에는 재구성된 텍스트가 포함되어 있지만 몇 가지 문제가 있습니다.

  1. 대문자는 사용하지 않습니다. 모든 것은 소문자입니다.

  2. 구두점이 없습니다.

  3. 개행 문자가 없습니다. 모든 것이 한 줄에 있습니다.

그것은 단지 HTML이 아닙니다. 다음은 프로젝트 구텐베르그의 "이성과 감성"의 텍스트 전용 버전의 복원된 텍스트의 일부입니다.

이성과 감성 Jane Austen 1811 1장 Dashwood 가족은 오랫동안 서식스(Sussex)에 정착해 왔으며, 그들의 거주지는 사유지 중앙에 있는 Nolan Park에 위치해 있습니다. 주변 지인으로부터 종합적인 칭찬을 받음

원본 텍스트는 다음과 같습니다.

SENSE AND SENSIBILITY

by Jane Austen

(1811)




CHAPTER 1


The family of Dashwood had long been settled in Sussex.  Their estate
was large, and their residence was at Norland Park, in the centre of
their property, where, for many generations, they had lived in so
respectable a manner as to engage the general good opinion of their
surrounding acquaintance.

https://www.gutenberg.org/cache/epub/161/pg161.txt

출력에는 가 포함되어 있습니다 lastdocid 105155. 이를 염두에 두고 재구성된 텍스트를 덤프하는 스크립트 초안은 다음과 같습니다.

#! /usr/bin/env bash

IMAX=105155
for ((i=1;i<=IMAX;i++))
do
    xadump -d ~/.recoll/xapiandb/ -i "$i" -r > "$i.txt"
done

내 컴퓨터에서는 처음 100개의 문서에 대해 이 작업을 수행하는 데 약 3초가 걸리므로 전체 100,000개의 문서에 대해서는 아마도 1시간도 채 걸리지 않을 것입니다.

관련 정보