gpt4 book ai didi

lucene.net - 带有 Lucene.Net 和 Azure 辅助角色的 AzureDirectory

转载 作者:行者123 更新时间:2023-12-04 01:45:15 28 4
gpt4 key购买 nike

我正在尝试使用 Azure blob 存储中的 AzureDirectory 实现 Lucene.Net 索引。

索引过程从 Azure worker 角色运行。

在本地 azure 模拟器中,我可以将大约 300 万条记录处理到索引中,而且搜索速度非常快。

现在我正在尝试将其部署到实时 Azure 中,辅助角色开始正常处理。

我遇到的问题是,在约 500,000 条记录之后, worker 角色会倒下并重新启动。

我有异常处理,并且在整个代码、异常处理程序和 OnStop 事件中都使用带有跟踪语句的诊断。来自主代码的跟踪语句很好地出现在诊断表中,并为我提供了我的记录正在处理的日志,但是来自异常处理和 OnStop 的跟踪语句从未出现。

有很多代码要发布,所以我想我首先要问是否有人知道这种类型的 AzureDirectory 的 Lucene.Net 索引有任何限制?

编辑:我终于设法通过移动一些代码来获得异常。索引磁盘空间不足,我得到以下异常。将尝试增加空间并将返回结果。

There is not enough space on the disk. at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.FileStream.WriteCore(Byte[] buffer, Int32 offset, Int32 count) at Lucene.Net.Store.SimpleFSDirectory.SimpleFSIndexOutput.FlushBuffer(Byte[] b, Int32 offset, Int32 size) at Lucene.Net.Store.BufferedIndexOutput.Flush() at Lucene.Net.Store.BufferedIndexOutput.WriteBytes(Byte[] b, Int32 offset, Int32 length) at Lucene.Net.Store.RAMOutputStream.WriteTo(IndexOutput out_Renamed)
at Lucene.Net.Index.StoredFieldsWriter.FinishDocument(PerDoc perDoc)
at Lucene.Net.Index.DocumentsWriter.WaitQueue.WriteDocument(DocWriter doc) at Lucene.Net.Index.DocumentsWriter.WaitQueue.Add(DocWriter doc) at Lucene.Net.Index.DocumentsWriter.FinishDocument(DocumentsWriterThreadState perThread, DocWriter docWriter) at Lucene.Net.Index.DocumentsWriter.UpdateDocument(Document doc, Analyzer analyzer, Term delTerm) at Lucene.Net.Index.IndexWriter.AddDocument(Document doc, Analyzer analyzer)

最终更新因此,我现在让我的索引器在大约 5 分钟内索引了 330 万行数据。

我已经回到基于 RAM 的存储并略微减少了被索引的数据,我的文档中有 3 个字段,现在减少到 2 个。

从 azure webrole 搜索索引也快如闪电。

我已经采纳了每个人的评论,并将在接下来的一个月左右对此进行监控。我很想看看它在负载下的表现如何。

最佳答案

我之前发过这个……但是……

它不适用于生产环境...以下是我对为什么不行以及您可以做什么的回答:How to implement Lucene .Net search on Azure webrole

我应该补充一点,运行您自己的 Azure VM 具有优势,因为您可以对磁盘进行 strip 化以获得额外的 I/O 性能(在 RAM 外部进行索引和搜索时很重要)。

这是另一个可能有帮助的答案,但我不同意这种方法:https://azuredirectory.codeplex.com/discussions/402913

编辑:我应该澄清一下,当我说“工作”时,我指的是在生产环境中工作。

关于lucene.net - 带有 Lucene.Net 和 Azure 辅助角色的 AzureDirectory,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13457836/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com