Sitecore 7 Метод поиска контента .ToLower() не поддерживается, ищем альтернативы

Я работаю над поиском контента sitecore 7.2, я хочу сравнить заголовок документа со строкой, но в нижнем регистре. Когда я использую метод .ToLower() в предложении поиска, я получаю сообщение об ошибке, что метод .ToLower() не поддерживается, точная ошибка это : 8648 11:19:34 ERROR Unsupported string method: ToLowerInvariant. 8648 11:19:34 ERROR at Sitecore.ContentSearch.Linq.Parsing.ExpressionParser.VisitStringMethod(MethodCallExpression methodCall)

Есть ли способ сделать сравнение строк без учета регистра?


person Ali    schedule 16.06.2014    source источник
comment
Используете ли вы конфигурацию Sitecore Lucene по умолчанию и анализатор поля по умолчанию для этого поля? Если да, то это StandardAnalyzer, который автоматически применяет фильтрацию нижнего регистра. Дополнительная информация об анализаторах Sitecore здесь.   -  person Kimberly    schedule 28.06.2014
comment
да, я использую конфигурацию Lucene по умолчанию и анализатор по умолчанию для всех полей, но это дает ошибку.   -  person Ali    schedule 02.07.2014


Ответы (2)


вам не нужно применять ToLower() - поиск по умолчанию с использованием поиска без учета регистра для текстовых полей

person Klaus Petersen    schedule 31.08.2016

Убедитесь, что тип анализатора Lucene

Sitecore.ContentSearch.LuceneProvider.Analyzers.LowerCaseKeywordAnalyzer

Пример конфигурации поля индекса

<field fieldName="subject" storageType="YES" indexType="TOKENIZED" vectorType="NO" boost="0.3f" type="System.String" settingType="Sitecore.ContentSearch.LuceneProvider.LuceneSearchFieldConfiguration, Sitecore.ContentSearch.LuceneProvider">
    <analyzer type="Sitecore.ContentSearch.LuceneProvider.Analyzers.LowerCaseKeywordAnalyzer, Sitecore.ContentSearch.LuceneProvider" />
</field>
person Ahmad Zia    schedule 17.08.2017