Binary 可以读取Sphinx二进制索引吗?

Binary 可以读取Sphinx二进制索引吗?,binary,sphinx,Binary,Sphinx,我已经通过ECB和base64加密了mysql表。搜索大数据变得过热,所以我想到了斯芬克斯。我可以在上面构造索引,并将所有查找查询传递给Sphinx,但是读取(偷取并读取)Sphinx索引是真的吗?Sphinx是开源的,所以索引格式很容易获得。事实上,有一个indextool二进制文件,可以显示文件中的大部分数据。(但当然,如果有人能够获得索引文件,他们可以将其加载到sphinx的另一个副本中,并以这种方式“读取”它们。) 。。。但斯芬克斯指数有点有损。它们不存储正在编制索引的原始文本字段。它被

我已经通过ECB和base64加密了mysql表。搜索大数据变得过热,所以我想到了斯芬克斯。我可以在上面构造索引,并将所有查找查询传递给Sphinx,但是读取(偷取并读取)Sphinx索引是真的吗?

Sphinx是开源的,所以索引格式很容易获得。事实上,有一个
indextool
二进制文件,可以显示文件中的大部分数据。(但当然,如果有人能够获得索引文件,他们可以将其加载到sphinx的另一个副本中,并以这种方式“读取”它们。

。。。但斯芬克斯指数有点有损。它们不存储正在编制索引的原始文本字段。它被转换成一个倒排索引

然后有两种类型的索引

使用
dict=keywords
索引,关键字列表存储在索引中(通过charset\u表转换后) 因此,虽然可以重建文件文本的基础,但不能精确复制,标点符号等都丢失了

然而,如果使用
dict=crc
索引,则实际单词不会存储在索引中,只存储单词的crc32/fnv64哈希值。因此,重建原始文本要困难得多

。。。因此,虽然不是真正的加密,但散列过程使恢复数据变得很困难(与密码通常以散列方式存储的方式相同)

(但是,属性是不同的,它们按索引中的原样存储。它们很容易提取)