동기식 AEM 인덱스를 다시 인덱싱하는 방법 | AEM, Oak

동기 AEM 인덱스를 다시 인덱싱하려면 reindex 속성을 로 설정하면 됩니다. true. 그러나 이로 인해 Oak 인스턴스가 정지될 수 있으며, 이 경우 인덱싱을 백그라운드 스레드로 전송해야 합니다. 이 문서에서는 방법을 설명합니다.

설명 description

환경

Adobe Experience Manager

문제

다운타임이 발생하지 않고 동기식 Oak 인덱스를 제대로 다시 인덱싱하려면 어떻게 합니까?

해상도 resolution

reindex 속성을 로 설정하여 동기식 인덱스 리인덱싱 true  그러면 동기 작업이 수행되어 Oak 인스턴스가 중단될 수 있습니다.

이러한 상황을 방지하려면 인덱싱을 백그라운드 스레드로 보내십시오. 아래 단계를 수행합니다.

1단계: 백그라운드 스레드에서 다시 인덱싱

  1. 다음에서 다음 속성을 설정합니다. CRXDE Lite 비동기 인덱싱에 사용할 수 있는 속성 인덱스에 대한 인덱스 정의:

    code language-none
    /oak:index/<property index>
    reindex=true
    reindex-async=true
    
  2. 위의 노드가 새로 고쳐졌는지 확인하려면 async="async-reindex"을 설정해야 합니다.

  3. 호출 startPropertyIndexAsyncReindex 다음에 있음 PropertyIndexAsyncReindex MBean.

    이렇게 하면 해당 유형의 인덱스를 검색하는 백그라운드 작업이 시작됩니다.

    호출 후 로그 라인 리인덱싱이 수행되는지 확인해야 합니다.

  4. 리인덱싱이 완료되면 reindex 플래그가 로 재설정됩니다. false.

  5. 인덱스를 동기화 인덱스로 다시 변경하려면 3단계를 다시 호출합니다. 비동기 플래그가 삭제되지 않으면 Mbean을 여러 번 호출해야 할 수 있습니다(이 인덱스에 동시에 영향을 주는 변경 사항이 발생하는 경우).

    참고: 만 async="async-reindex" 인덱싱이 발생할 스레드를 제어하므로 이(가) 제거됩니다.

    다음 reindex-async 속성은 자동으로 변경되지 않는 구성 플래그일 뿐입니다.

    향후 모든 리인덱싱을 제어하는 특정 인덱스 정의에 대해 한 번만 설정하는 것이 좋습니다.

    상태가 그대로 유지되며 다시 터치할 필요가 없습니다.

2단계: 리인덱싱 체크포인트 제거 (AEM 6.2 및 이전 버전만 해당)

비동기 리인덱싱하는 동안 저장소 체크포인트가 생성됩니다.
인덱싱 작업이 완료되면 나중에 수정 가비지 수집을 원활하게 보장하기 위해 아래 설명된 대로 릴리스해야 합니다.

  1. 먼저 를 엽니다. 체크포인트 관리자 MBean:

    MongoMK에서 - /system/console/jmx/org.apache.jackrabbit.oak%3Aname%3DDocument+node+store+checkpoint+management%2Ctype%3DCheckpointManger

    TarMK에서 - /system/console/jmx/org.apache.jackrabbit.oak%3Aname%3DSegment+node+store+checkpoint+management%2Ctype%3DCheckpointManger

  2. 호출 listCheckpoints() 작업.

  3. name=async-reindex 속성을 사용하여 체크포인트 행을 검색합니다.

  4. ID 값을 클립보드에 복사합니다.

    MongoMK에서 해당 값은 다음과 유사합니다. r1234567aaaa-0-1

    TarMK에서 해당 값은 다음과 유사합니다. 6eac07d0-fe27-4d16-82f8-6d5da4cefd67

  5. 그런 다음 releaseCheckpoint() 작업을 엽니다.

  6. 복사한 ID를 p1로 붙여넣고 호출.

  7. 이 단계에서 체크포인트가 릴리스됩니다.

recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f