我继承了一些使用Simple Lucene的代码。我对Simple Lucene知之甚少。现在,代码依赖于IndexService
索引实体。使用以下代码:
using (var indexService = GetIndexService())
{
indexService.IndexEntities(cachedResults, p =>
{
var document = new Document();
document.Add(new Field("Name", p.Name, Field.Store.YES, Field.Index.NOT_ANALYZED));
document.Add(new Field("ID", p.ID, Field.Store.YES, Field.Index.NOT_ANALYZED));
document.Add(new Field("Description", p.Description, Field.Store.YES, Field.Index.NOT_ANALYZED));
return document;
});
}
GetIndexService
会返回SimpleLucene.Impl.DirectorySerivce
个实例。此方法用于在本地计算机上存储索引。但是,现在我需要将其移动到Windows Azure存储blob。为了做到这一点,我依靠在https://github.com/richorama/AzureDirectory找到的库。
此处显示的示例返回Lucene.Net.Index.IndexWriter
。我不知道如何使用这个对象的方法。这些类型似乎完全不兼容。我想要做的就是为索引文件使用不同的存储位置。有没有办法做到这一点?如果是这样,怎么样。我在这里完全是一条小溪。谢谢!