lucene cursorMark的最大长度是多少?

i5desfxk  于 2022-11-07  发布在  Lucene
关注(0)|答案(1)|浏览(123)

正如标题所说,我想知道cursorMark的最大长度,我可以从Solr接收。
如果能得到一些关于字符的信息也是很好的。但是仅仅是最大长度就已经很好了。它甚至有一个或者理论上它可以无限增长吗?

3mpgtkmj

3mpgtkmj1#

关于字符集:

查看Solr CursorMark源代码,我们可以看到光标标记的表示是一个Base64编码的String。
这里用到的Base64的具体实现是Solr的Base64实用类,这里我们可以看到它们的字符集是:

private static final char intToBase64[] = {
      'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M',
      'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z',
      'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm',
      'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z',
      '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '+', '/'
};

如果字符串是填充的,也可能有=符号,但我不记得见过这些符号。

关于长度:

大小将根据编码的特定数据而变化(足以标识排序规范/位置)。
因此,基于这一点,我只有一些轶事性的观察,即数量级是字节,而不是千字节。

  • 最后注意事项:这些都是幕后工作,因此,可能会在没有警告的情况下发生变化。*

相关问题