使用AzureDirectory与Lucene.NET 3.0.3.0(Use AzureDirec

2019-09-21 05:53发布

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

例如错误的地段

'Lucene.Net.Store.Azure.AzureDirectory' does not implement inherited abstract member 'Lucene.Net.Store.Directory.Dispose(bool)'

有没有什么新的AzureDirectory可与Lucene的3个工作?

Answer 1:

我已经测试Lucene.Net.Store.Azure 1.0.5.1与Lucene.Net 3.0.3它为我工作。 我用下面的步骤,所以你可以尝试,以及:

  1. 在创建一个VS2010的Windows Azure工作者角色
  2. 包括Lucene.NET.Store.Azure(1.0.5.1)从这里使用VS包管理器(这对Lunece.NET 2.9.4.1依赖及以上)

    下午2时01>安装,包装Lucene.Net.Store.Azure

  3. 我是从更新Lucene.net 3.0.3 RC之后这里可以除去Lucene.net 2.9.4.1和安装3.0.3位

    下午3时01>安装,包装Lucene.Net - 预

  4. 已验证我有最新位和所有的依赖在我的项目设置,我添加了以下的测试代码在我的辅助角色:

     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(); 

在没有编译错误和作用做了做工精细,所以你可以尝试同样的和看到的。



Answer 2:

我刚才下载AzureDirectory 1.0.5.1从的NuGet与JustDecompile反编译它。 该AzureDirectory类不实现从Lucene.net 3.0.3(发行版)目录类的几个抽象的成员,如ListAll()。 因此,AzureDirectory 1.0.5.1不能与Lucene.net 3.0.3兼容

希望作者将升级AzureDirectory很快支持Lucene.net这个新版本。 在我建议潜心钻研自己的代码同时...这是我在做什么。 虽然不知道我是否会成功,因为我又不是太子港既成事实使用Lucene的内部工作。



Answer 3:

这个环节有哪些使用Lucene 3.0.3和最新的SDK月行之有效最新的东西



Answer 4:

感谢您的帮助大家,我有AzureDirectory使用Lucene 3.0.3.0和最新的Azure的SDK。

但我有个问题。 我有4个独特的Lucene索引,基本上是不同的产品适合不同的国家。 “lucenedb美”, “lucenedb-AU”, “lucenedb欧盟”,等等。

究竟是如何做的AzureDirectory缓存的工作?

请问这样:

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

然后是:

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

结果准确的结果,或将代码总是使用“lucenedb美”? 如果总是用“lucenedb-US”,将删除new RAMDirectory()解决这一问题?



Answer 5:

您可以使用此GitHub的仓库: https://github.com/richorama/AzureDirectory
你必须建立它自己,但它的工作原理是使用Lucene 3.0.3和Azure工具2的预期。



文章来源: Use AzureDirectory with Lucene.NET 3.0.3.0