【问题标题】:Deploying and reading static files on GAE在 GAE 上部署和读取静态文件
【发布时间】:2013-02-26 18:47:52
【问题描述】:

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

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

我遇到的问题是 AppEngine 静态文件配额(页面底部的https://developers.google.com/appengine/docs/java/runtime)。我的索引只有大约 750MB,所以我在“总文件

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

【问题讨论】:

    标签: google-app-engine lucene


    【解决方案1】:

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

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

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

    【讨论】:

    • Blobstore 和 Google Cloud Storage 不是一个选项(无需编写一个庞大的库来与 Lucene 集成)。看起来也不可能将我的索引拆分为小于 32MB。不幸的是,似乎没有办法在 GAE 上运行它,我必须找到另一个地方来托管我的应用程序的这一部分。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-06
    • 1970-01-01
    • 1970-01-01
    • 2021-10-03
    相关资源
    最近更新 更多