2014-02-13 52 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搜索引擎。

我知道这对您当前的任务可能是一种矫枉过正,但它是针对更复杂变体的最合适和最高性能的解决方案。