【问题标题】:For Google App Engine: Compare and Contrast Lucene and Search Api对于 Google App Engine:比较和对比 Lucene 和 Search Api
【发布时间】:2015-03-27 00:29:05
【问题描述】:

到目前为止,我一直在我的 App Engine 项目(Java、Eclipse)中使用 Search Api。但由于 Search Api 无法进行部分匹配或拼写错误的匹配(除其他外),我正尝试根据此处对 SO 的响应的建议切换到 LAE(即 App Engine 的 Lucene)。有人请解决以下问题吗?

  1. Lucene 索引可以有多少个文档?一个项目可以有多少个索引?对于 Search Api:索引中的文档数量或您可以使用的索引数量没有限制。但是,单个索引中所有文档的总大小不能超过 10GB。
  2. 在哪里可以查看我的 Lucene 数据?搜索 API:app engine page >> Data >> Text Search
  3. 我可以进行仅 id 查询并为此保存任何内容吗?对于 Search Api,它要便宜得多:

    Query query = Query.newBuilder() .setOptions(QueryOptions.newBuilder().setLimit(RESULT_SIZE).setReturningIdsOnly(true).build()) .build(req.getSearchTerm());

  4. App-Engine 如何对 Lucene 收费?我知道这不是 GAE 服务,但它肯定不可能是免费的。那我是怎么收费的呢?搜索接口:https://cloud.google.com/appengine/docs/python/search/#Python_Search_API_quotas

  5. 我可以自己在 Lucene 中为每个文档设置一个唯一的 id,它可以作为文档的键吗?搜索接口

    Document.newBuilder().setId(myUniqueId);

请至少解决以上五点。在我看来,这是一个棘手的问题。但是对于这个关键的比较似乎没有权威的参考(或任何参考)。为什么不在这里有一个呢?这就是编码人员寻求答案的地方。

【问题讨论】:

  • 你明白吗,如果你想使用Lucene,你需要在自己的机器上安装它,在Compute Engine上,没有标准的lucence服务。谷歌云有一个 Elasticsearch 的例子,虽然,作为点击部署解决方案,但这只是一个基本的安装
  • @IgorArtamonov code.google.com/p/luceneappengine 怎么样。我必须在我自己的机器上安装它吗?我想我只需要将它作为一个项目导入到我的 java 构建路径中:类似于我在应用引擎代码中使用其他 jar 和项目的方式。
  • 嗯,这是个有趣的项目。正如我所见,它应该适用于 gae,但不确定性能。最好改写这个项目的问题,而不是抽象的lucene
  • 我已经进行了编辑以从一开始就引用该项目
  • 问题2-4没有意义,因为它是非标准服务。另外两个最好分成两个单独的问题

标签: java google-app-engine lucene google-search-api


【解决方案1】:

1) 一个 Lucene 索引可以有多少个文档?一个索引可以有多少个 项目有?对于 Search Api:没有数量限制 索引中的文档,或您可以使用的索引数。然而, 单个索引中所有文档的总大小不能大于 超过 10GB。

据我所知,LAE 将所有内容都存储在数据存储中,使用 memcache 来提高性能。所以你不应该对文档的大小/数量有任何限制。

我在哪里可以查看我的 Lucene 数据?对于 Search Api:应用引擎页面 /数据/文本搜索

你不走运,现在没有集成让你可以实时查看来自 LAE 的索引数据。您必须自己构建它。

我可以进行仅 id 查询并为此保存任何内容吗?为了 Search Api 便宜很多:

App-Engine 如何对 Lucene 收费?我知道这不是 GAE 服务, 但它肯定不能是免费的。那我是怎么收费的呢?

在定价方面,您不能以相同的方式考虑 LAE。搜索 API 是 GAE 的一项功能,因为它消耗不同数量的资源,所以收费不同,而 LAE 与 GAE 完全一样,它是完全透明的。您不会为您执行的查询付费,您将根据 LAE 为从数据存储中获取该信息而消耗的任何资源付费。

我可以自己在 Lucene 中为每个文档设置一个唯一的 id,它可以提供 作为文档的键?

您可以为文档分配 ID 字段,但由于上述原因,您不会获得在 Search API 中获得的好处。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-04-20
    • 2013-02-22
    • 1970-01-01
    • 1970-01-01
    • 2023-03-12
    • 2014-06-25
    • 1970-01-01
    相关资源
    最近更新 更多