我正在使用 Azure Library for Lucene.Net 来索引和搜索数据。我的 webrole 索引数据,下面的代码用于创建索引:
AzureDirectory azureDirectory = new AzureDirectory(CloudStorageAccount.Parse(RoleEnvironment.GetConfigurationSettingValue("AzureStorageConnectionString")), pIndexDir);
IndexWriter indexWriter = indexWriter = new IndexWriter(azureDirectory, null, findexExists, IndexWriter.MaxFieldLength.UNLIMITED);
indexWriter.SetRAMBufferSizeMB(10.0);
indexWriter.SetUseCompoundFile(false);
indexWriter.SetMaxMergeDocs(10000);
indexWriter.SetMergeFactor(100);
和我相同的 webrole 搜索数据,下面的代码用于搜索索引。
AzureDirectory azureDirectory = new AzureDirectory(CloudStorageAccount.Parse(RoleEnvironment.GetConfigurationSettingValue("AzureStorageConnectionString")), pIndexToSearch);
IndexSearcher searcher = new IndexSearcher(azureDirectory,true);
由于默认情况下 AzureDirectory 将缓存存储在本地临时文件夹中,上述代码将使用本地 tenp 文件夹进行缓存。
在服务定义文件中,我没有为 Web 角色配置本地存储资源。
我正在使用小型 VM 角色大小。
我的问题是当我搜索任何单词时,搜索结果的检索速度都没有达到应有的速度......它有点慢。
我不确定我是否缺少任何配置......或者我是否需要创建一个带有指向 blob 存储的 RAMDirectory 的 AzureDirectory 以进行搜索,以便它更快。