Следуя инструкциям в этом документе SDN (PDF) , я добавил пользовательский индекс Lucene на веб-сайт Sitecore 6.3 (или так мне показалось):
- В *Раздел 1006 * в
web.config
, я добавил определение индекса:
<indexes>
...
<index id="website" singleInstance="true" type="Sitecore.Data.Indexing.Index, Sitecore.Kernel">
<param desc="name">$(id)</param>
<fields hint="raw:AddField">
<field target="created">__created</field>
<field target="name">@name</field>
<field target="body">body</field>
<field target="template" storage="keyword">@tid</field>
<field target="id" storage="unindexed">@id</field>
</fields>
</index>
</indexes>
- Я добавил индекс в базу данных
master
:
<database id="master" ...>
...
<indexes hint="list:AddIndex">
...
<index path="indexes/index[@id='website']" />
</indexes>
</database>
- Поскольку в базе данных
master
уже настроено HistoryEngine
(по умолчанию), я не внес никаких дополнительных изменений в конфигурацию.
Я могу проверить, что индекс system
заполняется правильно, поскольку приложение поиска в Sitecore Desktop может находить элементы, а каталог ~/Data/indexes/master/system
заполнен индексными файлами Lucene.
Однако, хотя каталог ~/Data/indexes/master/website
был создан автоматическив нем нет индексных файлов, и попытка выполнить поиск в моем подслое приводит к следующему System.IO.FileNotFoundException
(путь сокращен для простоты):
нет сегментов * файл найден в Sitecore.Data.Indexing.FSDirectory @ ~ / данные / индексы/ master / website: files:
Какие дополнительные изменения мне нужно внести, чтобы Sitecore распознал новый индекс?