2015-12-07 41 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命令 - 如果他們是不同的,那麼它聽起來像有在思考獅身人面像的錯誤。

相關問題