我正在为我的集合编写索引策略,并试图找出哈希索引中String的正确“精度”,即
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会怎么样?
答案 0 :(得分:2)
将有大约10,000种不同的customId,那么什么是正确的“精度”?如果它超过100,000,000个ID会怎么样?
Andrew Liu在this thread中说: 哈希索引的索引精度表示将属性值哈希的字节数。
正如我们所知,1个字节= 8位,可以容纳2 ^ 8 = 256个值。 2个字节可以容纳2 ^ 16 = 65,536个值,依此类推。您可以执行类似的计算,以根据您希望包含属性customId的路径的文档数来获取索引精度。
此外,您可以在this article中引用 索引精度部分 ,并在指定索引精度时在索引存储开销和查询性能之间进行权衡。