Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/296.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在简单Lucene中使用IndexService_C#_Lucene_Azure Storage - Fatal编程技术网

C# 在简单Lucene中使用IndexService

C# 在简单Lucene中使用IndexService,c#,lucene,azure-storage,C#,Lucene,Azure Storage,我继承了一些使用简单Lucene的代码。我对Simple Lucene知之甚少。现在,代码依靠IndexService索引实体。使用以下代码: using (var indexService = GetIndexService()) { indexService.IndexEntities(cachedResults, p => { var document = new Document(); document.Add(new Field("Name", p.Nam

我继承了一些使用简单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.DirectoryService
实例。这种方法用于在本地计算机上存储索引。但是,现在我需要将其移动到Windows Azure存储blob。为了做到这一点,我依赖于在以下位置找到的库:


这里显示的示例返回一个
Lucene.Net.Index.IndexWriter
。我不知道如何使用这个物体的方法。这些类型似乎完全不兼容。我只想为索引文件使用不同的存储位置。有办法做到这一点吗?如果是,如何进行。我完全陷入困境。谢谢

似乎
索引
看起来:

public int IndexEntities<TEntity>(DirectoryInfo indexLocation, IEnumerable<TEntity> entities, Func<TEntity, Document> converter)
{
    using (var indexer = new IndexWriterWrapper(indexLocation)) {
        int indexCount = 0;
        foreach (TEntity entity in entities) {
            indexer.Writer.AddDocument(converter(entity));
            indexCount++;
        }
        return indexCount;
    }
}
var writer = //However you get the writer...
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));
writer.addDocument(document);