【问题标题】:Best approach to use Lucene.net in azure app service在 Azure 应用服务中使用 Lucene.net 的最佳方法
【发布时间】:2017-10-14 05:35:27
【问题描述】:

我正在将我的 azure 云服务项目转换为 azure 应用服务。我有一个 webrole 和一个用于搜索操作的工人角色(我正在使用 lucene.net 进行搜索操作)。我想要最好的解决方案,它可以为我提供良好的性能并节省运行成本。所以我正在寻找实现我的搜索工作者角色的最佳方法。我有一些选择,每个场景我都有一些疑问:-

(i) 我可以将 lucene 索引代码放在我的网络应用程序中。但这会影响我网站的性能(因为 lucene 将并行运行以创建和索引文档)。

(ii) 我听说 azure web 应用程序有 6 个部署槽,我可以使用其中一个来永久托管我的 lucene.net 项目,并且 lucene 项目会将结果返回到我的 web 项目。

(iii) 我有一个用于博客的 azure Web 应用程序。我应该使用该网络应用程序来托管 lucene 项目(托管在子域中)

(iv)我有另一种选择是天蓝色搜索,但根据我的发现

  • 对于自定义的 Azure 搜索,我没有太多控制权。

  • 另一个原因是成本,免费计划提供有限的文件限制和 标准计划的成本很高。

  • 一个原因是我在以下位置以编程方式创建了一些文档 运行时我认为天蓝色搜索不允许我这样做。

  • Azure 搜索是否允许我选择 azure 表作为数据源?一世 认为它只允许Sqlazure。

我的确切要求是:-

我至少需要 5 个索引,总共需要大约 50,000 个文档。我的数据源是

1.SqlAzure
2.Azure tables
3.Azure blobs

请为我的方案建议最好的方法,任何帮助都非常可观!!!

【问题讨论】:

    标签: c# .net azure lucene hosting


    【解决方案1】:

    “最佳方法”是基于意见的,无法明确回答。话虽如此,在做出此决定时需要考虑以下几点。

    (i) 我可以将 lucene 索引代码放在我的网络应用程序中。但这会影响 我的网站的性能(因为 lucene 将并行运行以创建和 索引文件)。

    这是真的。索引代码将消耗您的 Web 应用程序的计算资源。

    (ii) 我听说 azure web 应用程序有 6 个部署槽,我可以使用一个吗 其中永久托管我的 lucene.net 项目和 lucene 项目 将结果返回到我的网络项目。

    Web 应用部署槽不是单独的实例 - 它们共享您的 Web 应用的计算资源。例如,如果您有一个具有 1 个核心和 1.75GB RAM 的 B1 Basic 实例,则这些资源将在所有插槽之间共享。每个插槽不会为您提供具有 1.75GB RAM 和 1 个核心的第二个实例。这将使您处于与上述#1相同的情况。

    (iii) 我有一个用于博客的 azure Web 应用程序。我应该使用那个网络应用程序来 托管 lucene 项目(托管在子域中)

    可能。您可以部署和监控以查看索引如何影响性能。

    至于 Azure 搜索,它绝对可以让您在五​​个字段上建立索引。您不仅需要为 Azure SQL 或表存储中存在的文档编制索引,还可以为任何内容编制索引。您可以使用 API 端点以 JSON 格式发送您想要的任何文档以进行索引。这样做的文档are here。使用这种方法,您甚至可以索引在运行时创建的文档。

    【讨论】:

    • 我已经更新了我的问题,请查看我的确切要求,我也更新了 azure search point 我认为 azure search 不提供选择 azure table 作为数据源的功能
    猜你喜欢
    • 2017-12-21
    • 1970-01-01
    • 2020-08-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多