2014-02-13 48 views
1

我有一個巨大的單詞列表(大約50K)存儲在一個數據庫(我正在使用activerecord),我想用一個文本塊來檢索匹配的單詞。如何檢索常用元素/單詞?

我知道Ruby提供交會

t = "this is a sample text, was created for demo" 
w = ["is","a","was","to","and"] 

t.split & w #=> ["is", "a", "was"] 

但我怎麼能做到這一點的話50K?做這樣的比賽的頻率可能是每天大約1000次。

+0

你做到了..... –

+1

你應該把這個文本放在一個全局變量或緩存中,這樣可以減少重複命中數據庫的時間,並且可以設置一個更新後的回調來更新該全局變量或緩存,在數據庫中更新 –

回答

1

如何使用全文搜索引擎?這裏有一些鏈接:

  1. Thinking Sphinx寶石獅身人面像搜索引擎。
  2. RSolr寶石爲Solr搜索引擎。

我知道這對您當前的任務可能是一種矯枉過正,但它是針對更復雜變體的最合適和最高性能的解決方案。