Windows Azure에서 호스팅되는 ASP.NET MVC 4 사이트가 있습니다. 이 사이트에서 전체 텍스트 검색이 필요했기 때문에 Lucene.NET을 사용했습니다. Lucene은 Windows Azure Blob을 사용하여 색인 파일을 저장합니다. 현재 쿼리에 시간이 오래 걸립니다 (약 1 분). 내가 Fiddler를 볼 때, 나는 285 개의 요청이 Blob 저장 장치로 해고되었음을 알았다.Lucene.NET with Windows Azure
내 BLOB 저장소에는 현재 10 개의 파일 만 있습니다. 가장 큰 파일은 단지 177kb입니다. 또한 Dispose 호출에 20 초 정도 걸리는 것으로 나타났습니다. 여기 내 코드가있다. 나는 너무 미친 듯이하는 것처럼 느껴지지 않는다.
IndexWriter indexWriter = InitializeSearchIndex();
if (indexWriter != null)
{
foreach (var result in cachedResults)
{
var document = new Document();
document.Add(new Field("Name", result.Name, Field.Store.YES, Field.Index.NOT_ANALYZED));
document.Add(new Field("ID", result.ID.ToString(), Field.Store.YES, Field.Index.NOT_ANALYZED));
document.Add(new Field("Description", result.Description, Field.Store.YES, Field.Index.NOT_ANALYZED));
document.Add(new Field("LastActivity", result.LastActivity, Field.Store.YES, Field.Index.NOT_ANALYZED));
indexWriter.AddDocument(document);
}
indexWriter.Dispose();
}
동시에 나는 이것이 왜 그렇게 오래 걸리는 지 잘 모르겠다. 검색 세트가 작은 경우
레오는 Lucene에 대해 Sql Azure가있는 훌륭한 블로그 게시물을 가지고 있습니다. http://leoncullens.nl/post/2012/11/ 18/Full-Text-Search-on-Azure-LuceneNET.aspx 도움이 될만한가요? 비슷한 구현이 있으며 수백만 건의 레코드를 통해 번개처럼 빠르게 진행됩니다. – ozz