5

早上好。

我目前正在从事一个项目,该项目最初将托管在带有 SQL2k8R2 的物理服务器上,但看起来我们正在向云和 Azure 移动......由于 SQL Azure 目前不支持全文索引,我一直使用AzureDirectory 项目查看 Lucene.NET 以进行后端存储。这将起作用的方式是更新将进入并排队。一旦处理完毕,它们将被放置在 ToIndex 队列中,这将启动 Lucene.NET 索引。我只是想知道是否有更好的方法来做到这一点?我们不需要为这个项目使用 Azure,所以如果有更好的解决方案,请告诉我们......托管的主要要求是它在欧洲......(都柏林的 Azure 和亚马逊数据中心很方便,美国的 RackSpace 不是很方便)。

谢谢。

4

3 回答 3

1

我没有使用过那个项目,但它看起来很有希望。据我了解,基本问题是 Lucene 需要一个文件系统。我看到了 2 个其他可能的解决方案(基本上只是做图书馆的工作):

  1. 使用 Azure Drive Storage 和辅助角色
  2. 使用云端硬盘存储,但使用虚拟机(如果使用辅助角色存在配置问题)

http://go.microsoft.com/?linkid=9710117

SQLite 也有全文搜索可用,但它有同样的基本问题——它需要一个文件系统: http ://www.sqlite.org/fts3.html

于 2010-12-29T22:05:20.373 回答
0

我为您提供了另一种解决方案,但它更激进一些,而且更具概念性。

您可以使用 azure 表存储创建自己的索引。根据文档中的每个单词创建分区,因为所有表都在 partitionkey 上建立索引,每个单词搜索应该很快,并且只为多个单词搜索进行内存连接。

于 2010-12-29T22:15:46.160 回答
0

只要您的 Lucene 索引小于 1GB,您就可以将其作为 Azure 网站托管。

我最近在重写Ask Jon Skeet以作为一个自包含的 Azure 网站托管时就这样做了。在更新 Lucene 索引之前,它使用 WebBackgrounder 轮询 Stackoverflow API 的更改。

于 2012-10-10T10:53:21.147 回答