2015-12-07 39 views
0

我使用Thinking Sphinx 3,Sphinx 2,Rails 4和PostgreSQL 9索引了大约200M行和10列数据,并且我生成的索引数据大约为250GB,或者略大于1GB每1M行。思考狮身人面像索引作为符号声明

最初,我将自己的索引声明为符号,例如indexes :short_description,但是当我拿出分号并重新索引时,如下所示:indexes short_description,我的索引数据下降到68G,或者每1M行约340MB 。

两个问题:

1)这是正确的技术,符号或字符串(或它的问题)?

2)只有68GB,我现在缺少一些数据,还是250GB的索引只是一种侥幸?

谢谢, 马丁

回答

1

有理论上的符号版本(indexes :short_description)和索引的呼叫的方法的版本(indexes short_description)之间没有差别。符号版本最初内置于Thinking Sphinx中,作为Ruby的Object类(例如id)上的现有实例方法的解决方法 - 但自从Ruby 1.9以来,BasicObject几乎没有在其上定义任何实例方法,因此可以使用close不要混淆。因此,方法 - 在思维狮身人面像中存在总是 - 是我推荐的(以及我在我自己的项目中始终使用的东西)。

这样:

  1. 没关系,但我推荐使用该方法的方法。
  2. 考虑到它应该没关系,我真的很惊讶指数大小的差异(任何区别都很奇怪 - 这种巨大的差异特别令人困惑)。

这可能是值得检查在两种情况下,指数/源产生的sql_query SQL命令 - 如果他们是不同的,那么它听起来像有在思考狮身人面像的错误。

相关问题