Browse Source

only initialize search index on startup (#193)

pull/195/head
Jason Dove 5 years ago committed by GitHub
parent
commit
5fd0cc5469
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 22
      ErsatzTV.Infrastructure/Search/SearchIndex.cs

22
ErsatzTV.Infrastructure/Search/SearchIndex.cs

@ -56,26 +56,32 @@ namespace ErsatzTV.Infrastructure.Search
private FSDirectory _directory; private FSDirectory _directory;
private IndexWriter _writer; private IndexWriter _writer;
private bool _initialized;
public SearchIndex(ILogger<SearchIndex> logger) public SearchIndex(ILogger<SearchIndex> logger)
{ {
_logger = logger; _logger = logger;
_cultureInfos = CultureInfo.GetCultures(CultureTypes.NeutralCultures).ToList(); _cultureInfos = CultureInfo.GetCultures(CultureTypes.NeutralCultures).ToList();
_initialized = false;
} }
public int Version => 9; public int Version => 9;
public Task<bool> Initialize(ILocalFileSystem localFileSystem) public Task<bool> Initialize(ILocalFileSystem localFileSystem)
{ {
localFileSystem.EnsureFolderExists(FileSystemLayout.SearchIndexFolder); if (!_initialized)
{
_directory = FSDirectory.Open(FileSystemLayout.SearchIndexFolder); localFileSystem.EnsureFolderExists(FileSystemLayout.SearchIndexFolder);
var analyzer = new StandardAnalyzer(AppLuceneVersion);
var indexConfig = new IndexWriterConfig(AppLuceneVersion, analyzer) _directory = FSDirectory.Open(FileSystemLayout.SearchIndexFolder);
{ OpenMode = OpenMode.CREATE_OR_APPEND }; var analyzer = new StandardAnalyzer(AppLuceneVersion);
_writer = new IndexWriter(_directory, indexConfig); var indexConfig = new IndexWriterConfig(AppLuceneVersion, analyzer)
{ OpenMode = OpenMode.CREATE_OR_APPEND };
_writer = new IndexWriter(_directory, indexConfig);
_initialized = true;
}
return Task.FromResult(true); return Task.FromResult(_initialized);
} }
public async Task<Unit> Rebuild(ISearchRepository searchRepository, List<int> itemIds) public async Task<Unit> Rebuild(ISearchRepository searchRepository, List<int> itemIds)

Loading…
Cancel
Save