我需要在 Google 应用引擎中实现“逆文档频率”。我正在寻找提高效率的建议。现在我把基本的例程当作,
解析网页时,我将每一对保存到数据存储区,例如,
for(String phrase : phrase_collection){
dataStore.put(phrase, domain);
}
稍后在计算 IDF 时,我从数据存储中获取短语的出现,例如,
for(String phrase : phrase_collection){
long count = dataStore.get(phrase).size();
}
但是速度并不令人满意,并且经常导致 30 秒超时。在这种情况下,我有额外的挑战,
- 多语言输入(网页)。因此,这些短语也使用不同的语言,这使得缓存变得困难。
- 解析网页和排名短语也需要很多时间。整个过程就像 charset_detect -> language_detect -> 根据不同语言解析 -> 排名。
在 GAE 中始终启用。
我期待着任何建议!提前致谢!