Каталог индекса Sitecore Lucene существует, но нет файлов сегментов

Следуя инструкциям в этом документе 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 распознал новый индекс?


person Community    schedule 09.03.2011    source источник


Ответы (1)


Проведя еще несколько экспериментов / исследований, я обнаружил, что на самом деле дополнительная настройка не требуется.

Следуя инструкциям в этом сообщении в блоге, я просто перестроил поисковый индекс для базы данных master, и все заработало!

Однако мне придется следить за этим; Я думал, что поисковый индекс будет обновляться автоматически каждые 5 минут (в зависимости от значения параметра Indexing.UpdateInterval).

person Community    schedule 09.03.2011