2017-11-09 3 views
0

Sitecore 7.5 및 Lucene 인덱싱 관련 문제가 있습니다. "위도"단선 텍스트 필드가있는 항목이 있습니다. 이 필드는 점 (쉼표가 아님)이있는 이중 숫자를 저장합니다. 내 컴퓨터의 culture를 en-US로 설정 했으므로 해당 번호와 함께 작동해야합니다. 또한 IIS 문화를 동일하게 설정했습니다.Sitecore의 이중 필드 인덱싱 중 로컬 화 문제가 발생했습니다.

17840 01:46:43 FATAL Could not add field {25D5A28F-F502-42CE-8FDD-C6432E64AE67} : latitude for indexable sitecore://web/{94D5DBF1-FEB9-464B-B887-A99181B58268}?lang=en&ver=1 
Exception: System.FormatException 
Message: Input string was not in a correct format. 
Source: mscorlib 

    at System.Number.ParseDouble(String value, NumberStyles options, NumberFormatInfo numfmt) 

    at System.String.System.IConvertible.ToDouble(IFormatProvider provider) 

    at System.Convert.ChangeType(Object value, Type conversionType, IFormatProvider provider) 

    at Sitecore.ContentSearch.LuceneProvider.LuceneFieldBuilder.CreateField(String name, Object value, LuceneSearchFieldConfiguration fieldConfiguration, IIndexFieldStorageValueFormatter indexFieldStorageValueFormatter) 

    at Sitecore.ContentSearch.LuceneProvider.LuceneDocumentBuilder.AddField(String name, Object value, LuceneSearchFieldConfiguration fieldSettings, Single boost) 

    at Sitecore.ContentSearch.LuceneProvider.LuceneDocumentBuilder.AddField(IIndexableDataField field) 
    at Sitecore.ContentSearch.AbstractDocumentBuilder`1.CheckAndAddField(IIndexable indexable, IIndexableDataField field) 

나는 Sitecore.ContentSearch.LuceneProvider 내부에 이러한 방법을 디버깅하기 위해 노력하고 System.Threading.Thread.CurrentThread.CurrentCulture는 "RU-RU"는 것을 발견 : 나는 인덱스를 다시 작성 때 나는 다음과 같은 오류가 발생합니다 .LuceneFieldBuilder.CreateField() 메서드. 하지만 내 C# 코드에서 "en-US"로 설정된 System.Threading.Thread.CurrentThread.CurrentCulture가 있습니다. 나는 이것을 디버그 모드에서 점검했다. 색인 생성 프로세스 중에 CurrentCulture가 어떻게 변경 될 수 있습니까? Windows 또는 IIS culture 설정에서 "ru-RU"설정이 없습니다.

답변

0

@Andrei 전 몇 달 전 (MS SQL의 저장 프로 시저로 작업하는) 동일한 문제가있었습니다.

내 로컬 컴퓨터 (Windows 10)와 IIS에서 기본 culture를 "en-US"로 변경했습니다. 불행히도, 그것은 나를 도와주지 못했습니다. 필자의 경우 저장 프로 시저를 다시 작성하여 이중 숫자로 구분 기호를 대체했습니다.

정말 복잡한 문제입니다. ENG 버전의 설치 프로그램을 사용하여 로컬 컴퓨터에 OS를 재설치해야한다고 생각합니다. 명령 줄에서이 코드를 실행하는

0

시도 :

appcmd set config /commit:WEBROOT /section:globalization /culture:en-us 

그것은 will set 당신의 문화 "EN-US".

+0

불행히도 도움이되지 않습니다. 이 명령을 실행하고 IIS 문화를 "en-us"로 설정했습니다. 그런 다음 IIS를 다시 시작하고 인덱스를 다시 작성했습니다. 같은 오류가 로그에 나타났습니다. – Andrei

관련 문제