Неспособность получить блокировку, используя Lucene и Sitecore - PullRequest
2 голосов
/ 24 января 2012

Я пытаюсь реализовать поиск Lucene в Sitecore.Используя реализацию Sitecore.Search по умолчанию, я должен иметь возможность получить ссылку на индекс, определенный в моем файле конфигурации, и вызвать index.Rebuild.

Я пытался использовать скрипт RebuildDatabaseCrawlers из AdvancedDatabaseCrawler , но каждый раз, когда я вызываю Rebuild, происходит сбой.

Я получаю сообщение об ошибке:

Lock obtain timed out: SimpleFSLock@C:\sites\MySite\Data\indexes\__mysite\write.lock

Я пытался изменить разрешения (включая предоставление всем полных разрешений), перезапуск баз и IIS, все безрезультатно.Я также попытался сократить раздел конфигурации поиска до минимума, с тем же результатом.

К сожалению, у меня нет никакого представления о том, что делает метод index.Rebuild (), так как он внутриSitecore.Search сборка.

Ответы [ 2 ]

2 голосов
/ 02 февраля 2012

Проблема в конечном итоге связана с конфигурацией.

В частности, при попытке удалить все лишние ссылки Sitecore.Data.Indexing из файлов конфигурации после определения того, что мне не нужны ни Sitecore.Search, ни Sitecore.Data.Indexing, я закомментировал следующую строку:

<configuration>
  <appSettings>
    <add key="Lucene.Net.FSDirectory.class" value="Sitecore.Data.Indexing.FSDirectory, Sitecore.Kernel"/>
  </appSettings>
</configuration>

Это должно быть там.

1 голос
/ 25 января 2012

Попробуйте настроить разрешения для c:\Temp для вашего пользователя пула приложений, например, Network Service

Вы также можете попробовать сделать то же самое для: c:\windows\microsoft.net\framework\{version}\Temporary ASP.NET Files

...