首页 > 解决方案 > Sensenet:我可以将 lucene 索引文件存储在 azure 文件存储而不是 App_Data 文件夹中吗?

问题描述

我已经SenseNet 6.3 Community Edition在我web application的基础上进行了设置Asp.net with C#

目前,我的 Web 应用程序托管在 Web 服务器上的文件夹中lucene Index filesApp_Data

有没有办法存储lucene index file remotely (another web server)or Azure file storage

如果是,那么这样做的缺点是什么?

我可以看到IndexDirectoryPath webconfig setting存储lucene index files到另一个地方,但如何使用它remote location

标签: c#asp.netlucene.netsensenet

解决方案


简短的回答:不推荐

这取决于您为什么要将索引存储在其他地方。您提到的配置是为了让您将索引存储在不同的文件夹中而创建的,您当然可以自由地这样做。\\myserver\remotefolder如果您愿意牺牲一些速度,它可以指向文件服务器(例如)上的远程驱动器。由于 sensenet 广泛使用索引,因此建议将索引存储在本地,以避免网络文件访问。

但是,如果您想将索引移动到共享驱动器,以便其他应用程序域(其他 Web 节点)可以访问它 - 这是不可能的。索引可由单个应用程序域独占读写。要让多个 Web 节点在同一个内容存储库上工作,您必须配置应用程序域之间的通信 ( MSMQ )。

同理,Azure文件存储也不推荐,Lucene需要一个真正的文件系统,访问速度非常快。


推荐阅读