【问题标题】:Azure Search: How to optimize storage?Azure 搜索:如何优化存储?
【发布时间】:2020-10-20 17:19:33
【问题描述】:

我最近被要求优化我们的 Search Service 实例的成本。 我尝试想到的第一件事 - 减少分区数量(我们在标准 S2 SKU 上有 3 个副本和 6 个分区)。但我无法这样做,因为已经分配了超过 60% 的存储空间,并且无法减少分区数量。 我已了解 Azure 搜索如何在幕后存储数据:https://docs.microsoft.com/en-us/azure/search/search-lucene-query-architecture#stage-3-document-retrieval

它表示每个可搜索字段都显示为反向索引。

问题:如果我在 Azure 搜索中定义 2 个相同的索引,存储分配会发生什么情况?它会“加倍”使用存储空间吗?

我认为 Azure 搜索索引是为每个可搜索字段创建的反向索引的“容器”。我的说法正确吗?

谢谢。

【问题讨论】:

    标签: azure-cognitive-search


    【解决方案1】:

    回答你的问题,是的,倒排索引是从一个索引到另一个索引是分开的,所以如果你创建另一个副本索引,它基本上会增加一倍的存储大小。

    您可能想看看以下几点:

    • 您是否打开了不需要的功能?例如,当您实际上不需要时,您是否将字段设置为可分面和可过滤的?
    • 当您可以将所有内容存储在索引的根级别(或者可能使用集合)时,您是否使用了复杂类型?
    • 您正在使用的字段是否实际未用于搜索/分面/或过滤,您可以将它们移到搜索索引之外?例如,当您单击文档时,索引可能会存储一个 URL 引用,您可以在其中从具有附加元数据的 blob 存储加载一些 JSON

    每一个都不仅可以节省空间,还可以节省索引时间。

    【讨论】:

    • 感谢您的回答。我想知道,如果我合并两个索引怎么办?它会对性能产生很大影响吗?
    • 它会影响性能,但由于 SKU(层)资源的变化、模式、工作负载等的差异,要回答确切的影响确实具有挑战性。我会说它非常普遍人们将内容合并到单个索引中,然后利用过滤器来限制根据 index1 和 index2 返回的结果。
    猜你喜欢
    • 2011-10-23
    • 2012-05-05
    • 1970-01-01
    • 2012-09-10
    • 2014-11-20
    • 1970-01-01
    • 1970-01-01
    • 2018-07-13
    • 1970-01-01
    相关资源
    最近更新 更多