Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/291.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.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# 将AzureDirectory与Lucene.NET 3.0.3.0一起使用_C#_Azure_Lucene.net_Azure Storage Blobs - Fatal编程技术网

C# 将AzureDirectory与Lucene.NET 3.0.3.0一起使用

C# 将AzureDirectory与Lucene.NET 3.0.3.0一起使用,c#,azure,lucene.net,azure-storage-blobs,C#,Azure,Lucene.net,Azure Storage Blobs,我下载AzureDirectory和最新的Lucene.NET 根本无法编译 很多错误,比如 'Lucene.Net.Store.Azure.AzureDirectory'未实现继承的抽象成员'Lucene.Net.Store.Directory.Dispose(bool) 是否有任何新的AzureDirectory可以与Lucene 3一起使用?我已经用Lucene.Net.Store.Azure 1.0.5.1和Lucene.Net 3.0.3测试了Lucene.Net.Store.Azur

我下载AzureDirectory和最新的Lucene.NET 根本无法编译

很多错误,比如

'Lucene.Net.Store.Azure.AzureDirectory'未实现继承的抽象成员'Lucene.Net.Store.Directory.Dispose(bool)


是否有任何新的AzureDirectory可以与Lucene 3一起使用?

我已经用Lucene.Net.Store.Azure 1.0.5.1和Lucene.Net 3.0.3测试了Lucene.Net.Store.Azure 1.0.5.1,这对我来说很有效。我使用了以下步骤,因此您也可以尝试:

  • 在VS2010中创建了Windows Azure工作人员角色
  • 使用VS Package Manager将Lucene.NET.Store.Azure(1.0.5.1)从(依赖于Lunece.NET 2.9.4.1及更高版本)中包括在内

    下午2.1点>安装包Lucene.Net.Store.Azure

  • 之后,我将Lucene.net更新为3.0.3rc,从中删除了Lucene.net 2.9.4.1并安装了3.0.3位

    下午3.1点>安装Lucene.Net包-预安装

  • 经验证,我已在项目中设置了最新的位和所有依赖项,我在我的工作者角色中添加了以下测试代码:

    Lucene.Net.Util.Version version = Lucene.Net.Util.Version.LUCENE_30;
    Microsoft.WindowsAzure.CloudStorageAccount cloudAccount = Microsoft.WindowsAzure.CloudStorageAccount.FromConfigurationSetting("CloudStorageSetting");
    var cacheDirectory = new RAMDirectory();
    AzureDirectory azureDirectory = new AzureDirectory(cloudAccount, "MyCloudIndex",cacheDirectory);
    IndexWriter indexWriter = null;
    Analyzer analyzer = new StandardAnalyzer(Lucene.Net.Util.Version.LUCENE_30);
    indexWriter = new IndexWriter(azureDirectory, analyzer, IndexWriter.MaxFieldLength.UNLIMITED); 
    Document doc = new Document();
    indexWriter.AddDocument(doc);
    indexWriter.Dispose();
    azureDirectory.Dispose();
    

  • 没有编译错误,角色工作正常,因此您可以尝试相同的方法并查看

    我已经用Lucene.Net 3.0.3测试了Lucene.Net.Store.Azure 1.0.5.1,这对我来说很有效。我使用了以下步骤,因此您也可以尝试:

  • 在VS2010中创建了Windows Azure工作人员角色
  • 使用VS Package Manager将Lucene.NET.Store.Azure(1.0.5.1)从(依赖于Lunece.NET 2.9.4.1及更高版本)中包括在内

    下午2.1点>安装包Lucene.Net.Store.Azure

  • 之后,我将Lucene.net更新为3.0.3rc,从中删除了Lucene.net 2.9.4.1并安装了3.0.3位

    下午3.1点>安装Lucene.Net包-预安装

  • 经验证,我已在项目中设置了最新的位和所有依赖项,我在我的工作者角色中添加了以下测试代码:

    Lucene.Net.Util.Version version = Lucene.Net.Util.Version.LUCENE_30;
    Microsoft.WindowsAzure.CloudStorageAccount cloudAccount = Microsoft.WindowsAzure.CloudStorageAccount.FromConfigurationSetting("CloudStorageSetting");
    var cacheDirectory = new RAMDirectory();
    AzureDirectory azureDirectory = new AzureDirectory(cloudAccount, "MyCloudIndex",cacheDirectory);
    IndexWriter indexWriter = null;
    Analyzer analyzer = new StandardAnalyzer(Lucene.Net.Util.Version.LUCENE_30);
    indexWriter = new IndexWriter(azureDirectory, analyzer, IndexWriter.MaxFieldLength.UNLIMITED); 
    Document doc = new Document();
    indexWriter.AddDocument(doc);
    indexWriter.Dispose();
    azureDirectory.Dispose();
    

  • 没有编译错误,角色工作正常,因此您可以尝试相同的方法并查看

    我刚刚从Nuget下载了AzureDirectory 1.0.5.1,并用JustDecompile进行了反编译。AzureDirectory类没有实现Lucene.net 3.0.3(发行版)中目录类的几个抽象成员,例如ListAll()。因此,AzureDirectory 1.0.5.1不能与Lucene.net 3.0.3兼容


    希望作者能尽快升级AzureDirectory以支持这个新版本的Lucene.net。同时我建议你自己深入研究代码。。。这就是我正在做的。虽然我不确定是否会成功,因为我不熟悉Lucene的内部工作。

    我刚刚从Nuget下载了AzureDirectory 1.0.5.1,并使用JustDecompile对其进行了反编译。AzureDirectory类没有实现Lucene.net 3.0.3(发行版)中目录类的几个抽象成员,例如ListAll()。因此,AzureDirectory 1.0.5.1不能与Lucene.net 3.0.3兼容


    希望作者能尽快升级AzureDirectory以支持这个新版本的Lucene.net。同时我建议你自己深入研究代码。。。这就是我正在做的。虽然我不确定我是否会成功,因为我不熟悉Lucene的内部工作。

    您可以使用这个GitHub存储库:

    您必须自己构建它,但它与Lucene 3.0.3和Azure Tools 2的预期效果一样。

    您可以使用此GitHub存储库:

    您必须自己构建它,但它与Lucene 3.0.3和Azure Tools 2的预期效果一样。

    感谢您的帮助,各位,我已经获得了带有Lucene 3.0.3.0和最新Azure SDK的AzureDirectory

    不过我有个问题。我有4个独特的Lucene指数,不同国家的产品基本不同。“lucenedb us”、“lucenedb au”、“lucenedb eu”等

    AzureDirectory缓存究竟是如何工作的

    请问:

    azureDirectory = new AzureDirectory(cloudStorageAccount, "lucenedb-us", new RAMDirectory());
    
    然后:

    azureDirectory = new AzureDirectory(cloudStorageAccount, "lucenedb-au", new RAMDirectory());
    

    结果是准确的,还是代码总是使用“lucenedb us”?如果它总是使用“lucenedb us”,删除
    新的RAMDirectory()
    会解决问题吗?

    谢谢大家的帮助,我已经获得了带有Lucene 3.0.3.0和最新Azure SDK的AzureDirectory

    不过我有个问题。我有4个独特的Lucene指数,不同国家的产品基本不同。“lucenedb us”、“lucenedb au”、“lucenedb eu”等

    AzureDirectory缓存究竟是如何工作的

    请问:

    azureDirectory = new AzureDirectory(cloudStorageAccount, "lucenedb-us", new RAMDirectory());
    
    然后:

    azureDirectory = new AzureDirectory(cloudStorageAccount, "lucenedb-au", new RAMDirectory());
    

    结果是准确的,还是代码总是使用“lucenedb us”?如果它总是使用“lucenedb-us”,删除
    new-RAMDirectory()
    会解决问题吗?

    好的,你下载DLL,我下载源代码,也许这就是区别,你会试试你的方法你的例子不起作用。我安装了完全相同的软件包,但我无法将azureDirectory插入IndexWriter(),因为它需要目录的子类(azureDirectory不是目录的子类型)。那些对答案投反对票的人请理解,当我回答这个问题时,Lucene 3.0.3是在RC中的,它确实按照上面所写的那样工作。Lucene 3.0.3发布后发生了一些变化,可能导致上述答案不适用,但曾经适用。您好,我知道这个答案已经发布了一段时间,但我可以知道我应该将上述代码放在哪里吗?我已经创建了一个简单的测试应用程序,并按照步骤进行了操作,除了第4步OK,你下载DLL,我下载源代码,也许这就是区别,我会尝试你的方法。你的示例不起作用。我安装了完全相同的软件包,但我无法将azureDirectory插入IndexWriter(),因为它需要目录的子类(azureDirectory不是目录的子类型)。那些对答案投反对票的人请理解,当我回答这个问题时,Lucene 3.0.3是在RC中的,它确实按照上面所写的那样工作。Lucene 3.0.3发布后发生了一些变化,可能导致上述答案不适用,但它曾经适用。嗨,我知道这个answ