Lucene по умолчанию, когда поле и запрос обрабатываются, удаляет так называемые «стоп-слова», такие как and
и the
и т. д.
Если вы не хотите такого поведения, вы можете добавить запись в раздел fieldMap
вашей конфигурации, чтобы сообщить Sitecore, как обрабатывать поле...
<fieldNames hint="raw:AddFieldByFieldName">
<field fieldName="YOURFIELDNAME" storageType="YES" indexType="UN_TOKENIZED" vectorType="NO" boost="1f" type="System.String" settingType="Sitecore.ContentSearch.LuceneProvider.LuceneSearchFieldConfiguration, Sitecore.ContentSearch.LuceneProvider">
<analyzer type="Sitecore.ContentSearch.LuceneProvider.Analyzers.LowerCaseKeywordAnalyzer, Sitecore.ContentSearch.LuceneProvider" />
</field>
...
</fieldNames>
.. этот пример говорит Sitecore для этого поля не использовать токен, а также переводить все в нижний регистр. Вы можете использовать разные анализаторы, чтобы получить желаемые результаты.
Вы можете попробовать установить для indexType значение TOKENIZED
, но по-прежнему использовать LowerCaseKeywordAnalyzer
в качестве другой комбинации. UN_TOKENIZED
будет означать, что ваша строка будет обработана как один токен, что может быть не тем, что вам нужно.
person
Stephen Pope
schedule
03.07.2014