Каталог индекса Sitecore Lucene существует, но нет файлов сегментов - PullRequest
1 голос
/ 09 марта 2011

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

1 Ответ

1 голос
/ 10 марта 2011

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

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

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

...