我继承了一些使用 Simple Lucene 的代码。我对简单的 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
. 我不知道如何通过现有的方法使用这个对象。这些类型似乎完全不兼容。我想做的就是为索引文件使用不同的存储位置。有没有办法做到这一点?如果是这样,如何。我在这里完全是一条小溪。谢谢!