0

由于实验性搜索 API 的限制,我决定使用 Apache Lucene 来满足我的全文搜索需求。我查看了 Lucene 的 AppEngine 端口,但它们不适合我的需要(使用 RAMIndex 的端口不支持我的索引大小,而使用数据存储的端口在性能方面太慢了),所以我使用我的测试了 Lucene本地文件系统,发现它非常适合我。

现在我的问题是如何让它在 AppEngine 上工作。我们不允许写入文件系统,但这很好,因为他的索引是在我的开发机器上创建的,并且在服务器上是只读的(我会定期更新索引并需要向上推送新索引)。允许从文件系统读取,所以我认为我可以将我的索引与我的其他静态文件捆绑在一起并可以访问它。

我遇到的问题是 AppEngine 静态文件配额(页面底部的https://developers.google.com/appengine/docs/java/runtime )。我的索引只有大约 750MB,所以我在“总文件 < 1GB”前面很好,但是我的一些索引文件是几百 MB,因此由于每个文件最大 32 MB,AppEngine 上不允许使用。

有什么方法可以在 AppEngine 上部署和读取大于 32 MB 的静态文件?或者我是否会为了读取我的 Lucene 索引而不得不设置其他一些服务器(例如 Amazon)?

4

1 回答 1

1

对于 750MB 的文件,您必须使用 BlobStore 或 Google Cloud Storage。

如果您可以在 Lucene 中更改访问静态文件的代码,则可以使用对 BlobStore 或 Cloud Storage 的请求来读取文件。但如果静态文件是唯一的选项,则必须将索引拆分为 32MB 块。

如果您更改 Lucene 文件访问的代码,则每个读取请求的限制为 32MB。因此,必须分段读取文件。

于 2013-02-26T19:13:37.780 回答