2014-01-11 1 views
1

갑자기 Sitecore 웹 사이트의 Lucene 색인이 손상되어 조사가 끝난 후 Sitecore 포함 파일이 알파벳순이 아닌 순서로 web.config에 "패치"되고 있음을 발견했습니다.Sitecore Include Files 정렬 순서가 깨졌습니다.

존 웨스트 HIST 블로그 게시물 중 하나에 언급 :

Sitecore가있는 Web.config 알파벳 순서 (기술적으로 Directory.GetFiles에 의해 반환되는 순서() 메소드)에 파일을 포함 처리합니다.

그러나, MSDN 말한다 :

보장되지 않으므로 (GetFiles에()에서) 반환 된 파일 이름의 순서; 특정 정렬 순서가 필요한 경우 Sort() 메서드를 사용하십시오.

어떤 종류의 문제가 발생할 수 있습니까? 서버 구성과 관련이 있습니까?

+0

내가 아는 한 파일을 알파벳 순서로 패치해야합니다 (패치 속성에 지정되지 않은 경우). 이것이 버그인지 확인하려면 sitecore 지원에 문의하십시오. –

+0

showconfig.aspx 페이지를보고 패치 포함에 잘못된 순서가 있음을 어떻게 알 수 있습니까? 최근에 SC7로 업그레이드 했습니까? 어느 쪽이든, 아메드가 말했듯이, SC 지원부 – jammykam

답변

6

나는 당신이 당신의 자신의 설정은 항상 다른 파일을 포함하는 모든 후 포함되어 포함되도록해야 할 경우 사용할 수있는 트릭이있다.
모든 기본 및 공급 업체 .config 파일이 /App_Config/Include 폴더에 직접 있는지 확인한 다음 고유 한 포함 파일을 배치하는 하나의 하위 폴더 (예 : /App_Config/Include/Custom/MyConfig.config)를 만듭니다.

이렇게하면 최상위 폴더의 파일이 항상 Directory.GetFiles() 메서드에서 맨 처음 반환되므로 구성 포함이 항상 마지막으로로드됩니다.

+1

그게 좋은 팁이야, 인생을 훨씬 간단하고 더 명확하게 정의 대 표준 무엇입니까 – jammykam

+0

고마워, 문제를 해결하는 것! –

0

Plase check this link. 돌려 주어지는 파일명의 순서는 보증되고 있지 않습니다. 특정 정렬 순서가 필요한 경우 Sort() 메서드를 사용하십시오. 그것은 MSDN에 말한다.

하지만 패치를 패치 할 때 파일의 이름이 중요하다는 것을 알고 있습니다. 예 : 다음 직후 최종 Web.config의 섹션에 포함됩니다 Sitecore.ContentSearch.Lucene.DefaultIndexConfigurationPatch.config라는 새로운 설정 파일을 작성하여 Sitecore.ContentSearch.Lucene.DefaultIndexConfiguration.config

을 패치 할 수있는 당신이 설정 파일에 수정을 확인할 수 있습니다 Sitecore.ContentSearch.Lucene.DefaultIndexConfiguration.config.

원래 :

hostname/sitecore/admin/showconfig.aspx 
관련 문제