c# - Sensenet:我可以将 lucene 索引文件存储在 azure 文件存储而不是 App_Data 文件夹中吗?
问题描述
我已经SenseNet 6.3 Community Edition
在我web application
的基础上进行了设置Asp.net with C#
。
目前,我的 Web 应用程序托管在 Web 服务器上的文件夹中lucene Index files
。App_Data
有没有办法存储lucene index file
remotely (another web server)
or Azure file storage
?
如果是,那么这样做的缺点是什么?
我可以看到IndexDirectoryPath
webconfig setting
存储lucene index files
到另一个地方,但如何使用它remote location
。
解决方案
简短的回答:不推荐。
这取决于您为什么要将索引存储在其他地方。您提到的配置是为了让您将索引存储在不同的文件夹中而创建的,您当然可以自由地这样做。\\myserver\remotefolder
如果您愿意牺牲一些速度,它可以指向文件服务器(例如)上的远程驱动器。由于 sensenet 广泛使用索引,因此建议将索引存储在本地,以避免网络文件访问。
但是,如果您想将索引移动到共享驱动器,以便其他应用程序域(其他 Web 节点)可以访问它 - 这是不可能的。索引可由单个应用程序域独占读写。要让多个 Web 节点在同一个内容存储库上工作,您必须配置应用程序域之间的通信 ( MSMQ )。
同理,Azure文件存储也不推荐,Lucene需要一个真正的文件系统,访问速度非常快。
推荐阅读
- java - 我需要在java中初始化一个地图列表,但是我尝试过的每一种方式都将它初始化为null
- h2 - 如何像 sql server 一样在 h2 中使用 getDate()
- rtsp - 从 ffmpeg 到 rtsp 格式的 Mp4 视频
- java - 如何使用带有 Java 的 chrome 选项在 Selenoid 中下载文件
- php - 如何在 4 列中显示查询结果并在 4 列之后移动到另一行?
- java - 在 javax.annotation.processing.Processor 中获取 VariableElement 的封闭类名
- dart - Dart,Flutter:将 .jpg 文件上传到 Google Drive
- laravel - 如何在 Laravel 查询生成器中使用 WITH 子句
- php - 如何根据该数据将数据从 php 发送到 R 脚本以进行某些预测?
- android - 无法显示从存储在 SQLite 数据库中的列表中提取的数据