【问题标题】:Best Precision for String in DocumentDB Indexing PoliciesDocumentDB 索引策略中字符串的最佳精度
【发布时间】:2017-10-03 11:18:05
【问题描述】:

我正在为我的集合编写索引策略,并试图找出哈希索引中字符串的正确“精度”,即

collection.IndexingPolicy.IncludedPaths.Add(
new IncludedPath { 
    Path = "/customId/?", 
    Indexes = new Collection<Index> { 
        new HashIndex(DataType.String) { Precision = 20 } } 
});

会有大约 10,000 个不同的 customId,那么正确的“精度”是多少?如果它得到超过 100,000,000 个 id 怎么办?

【问题讨论】:

    标签: azure indexing hash azure-cosmosdb document-database


    【解决方案1】:

    会有大约 10,000 个不同的 customId,那么正确的“精度”是多少?如果它得到超过 100,000,000 个 id 怎么办?

    正如 Andrew Liu 在this thread 中所说:哈希索引的索引精度表示将属性值哈希到的字节数。

    众所周知,1 个字节 = 8 位,可以容纳 2^8 = 256 个值。 2 个字节可以容纳 2^16 = 65,536 个值,依此类推。您可以根据您希望包含属性 customId 路径的文档数进行类似的计算以获取索引精度。

    此外,您可以参考this article 中的索引精度部分​​,并在指定索引精度时在索引存储开销和查询性能之间进行权衡。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-02-07
    • 1970-01-01
    • 1970-01-01
    • 2013-07-15
    • 2016-11-28
    • 1970-01-01
    • 2014-04-02
    • 2010-10-25
    相关资源
    最近更新 更多