Следуя инструкциям в этом документе SDN (PDF), я добавил собственный индекс Lucene на сайт Sitecore 6.3 (или мне так казалось):
- В разделе
<indexes>
в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 может находить элементы, а каталог ~/Data/indexes/master/system
забит индексными файлами Lucene.
Однако, несмотря на то, что каталог ~/Data/indexes/master/website
был создан автоматически, в нем нет индексных файлов, и попытка выполнить поиск в моем дополнительном макете приводит к следующему System.IO.FileNotFoundException
(путь сокращен для простоты):
в Sitecore.Data.Indexing.FSDirectory@~/Data/indexes/master/website: files:
Какие дополнительные изменения мне нужно внести, чтобы Sitecore распознал новый индекс?