2013-10-22 2 views
3

교차 판매 제품이 나타나지 않는 Magento 사이트가 있습니다.Magento Reindexing Data - Risks

Stack과 Google을 살펴본 후 '데이터 다시 색인화'가 많은 사람들에게이 문제를 해결 한 것으로 보입니다.

제 질문은이 작업 수행과 관련된 위험이 있습니까? 아니면 비교적 직선적 인 절차입니까?

답변

7

색인 생성은 Magento의 기본적인 부분이며 부정적인 방법으로 사이트에 영향을 미치지 않습니다.

Magento는 복잡한 EAV (entity-attribute-value) 데이터베이스 구조를 사용하기 때문에 간단한 결과를 검색하기 위해 많은 양의 데이터베이스 쿼리가 필요할 수 있습니다. 이 때문에 Magento 개발자는이 모든 데이터를 쿼리하고 단일 테이블 구조에 저장하는 인덱스 테이블을 구현했습니다. 이를 통해 Magento는 여러 테이블에서 복잡한 조인을 작성하는 대신 단일 인덱스 테이블을 신속하게 쿼리 할 수 ​​있습니다.

다시 말하면 색인 생성은 기존 데이터를 변경하지 않습니다. 단순히 기존 데이터를 쿼리하고 자신의 테이블에 복사합니다.

사이트를 다시 색인하려면 시스템> 색인 관리으로 간단하게 다시 색인화하려는 모든 색인을 선택하고 제출하십시오.

많은 제품이있는 경우 셸 명령 줄에서 사이트를 다시 인덱싱하는 것이 좋습니다.

  • 은 로그인 한 후에 (예 : Putty 등) SSH 프로그램을 사용하여 사이트에

    1. 로그인에 cd 당신의 magento/shell/
    2. 실행 귀하의 사이트를 다시 인덱싱하려면 다음 명령 (마 젠토는 젠토 루트 디렉토리입니다) : php indexer.php reindexall
    3. 인덱스 프로세스가 완료 될 때까지 기다리십시오.

    마지막으로 카탈로그가 플랫 인덱스 테이블을 사용하고 있는지 확인하십시오.

  • 설정 사용 플랫 카탈로그 카테고리
  • 설정 사용 플랫 카탈로그 제품Yes
  • Yes

    1. 이동 시스템 에> 구성> 카탈로그> 프론트 엔드 (섹션) :이 작업을 수행하려면
    2. 클릭 세이브 구성
    +1

    부정적인 부분은 서버가 서버에 집중되는 방식이며 잠긴 테이블에서 문제가 발생할 수 있다는 점입니다. 100K 제품을 사용하여 멀티 웹 사이트를 구현 한 제품 URL의 색인을 다시 생성하면 시간이 많이 걸릴 수 있습니다. –

    +0

    제품 평면 테이블에 대해 색인 다시 생성이 작동 할 때 고객이 결제를 수행하지 못했습니다. – Robi

    +0

    안녕하세요. 거대한 상점이있는 경우 매장을 이용하지 않고 어떻게 이러한 문제를 해결할 수 있습니까? – brucekaushik

    2

    아니요, 알림이 표시 될 때마다 색인을 다시 생성해도 안전합니다.

    변경 사항이 많을 것이라는 것을 알고 있으면 작업이 끝날 때까지 기다릴 수 있습니다. 시간을 절약하고 끝에 한 번만 실행하십시오.

    수십만 개의 제품 및/또는 저장소보기가 많은 경우 안전하지 않은 유일한 예외입니다.몇 시간이나 몇 시간 동안 운영이 중단 될 수 있으므로 사이트 속도가 느려져 고객에게 바람직하지 않은 경험이 될 수 있습니다.

    0

    많은 수의 제품이있는 사이트에서 가격 색인을 실행하면 데이터베이스 잠금이 발생할 수 있습니다. 이로 인해 특정 작업을 사용할 수 없게되고 그 시간 동안 주문이 복제 될 수 있습니다. 또한 성능에 영향을 미치고 리소스를 사용할 수 있습니다. 가능하다면 늦은 밤에이 작업을 수행하는 것이 좋습니다.