gpt4 book ai didi

c# - 在 azure 应用服务中使用 Lucene.net 的最佳方法

转载 作者:行者123 更新时间:2023-12-03 05:05:50 24 4
gpt4 key购买 nike

我正在将我的azure云服务项目转换为azure应用程序服务。我有一个 webrole 和一个辅助角色用于搜索操作(我使用 lucene.net 进行搜索操作)。我想要能够为我提供良好性能并节省运行成本的最佳解决方案。因此,我正在寻找最佳方法来履行我的搜索 worker 角色。我有一些选择,每个场景我都有一些疑问:-

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

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

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

(iv)我还有另一个选择是 azure 搜索,但根据我的发现

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

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

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

  • azure 搜索允许我选择 azure 表作为数据源吗?我认为它只允许 Sqlazure。

我的确切要求是:-

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

1.SqlAzure
2.Azure tables
3.Azure blobs

请为我的场景提供最佳方法建议,任何帮助都非常感激!!!

最佳答案

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

(i) I can put lucene indexing code in my web app. But that can affect performance of my website (as lucene will run parallel to create and index documents).

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

(ii) As I hear azure web apps have 6 deployments slots, can I use one of them to host my lucene.net project permanently and lucene project will return results to my web project.

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

(iii) I have one azure web app for blog. Should I use that web app to host lucene project (host in subdomain)

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

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

关于c# - 在 azure 应用服务中使用 Lucene.net 的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43979396/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com