在这种情况下,我有很多日志。 每个日志包含时间,IP,URL,内容等。
问题1: 我想要做的是确定给你一个某个词,比如'谷歌',告诉我哪个日志的内容包含这个词
问题2: 我不能确定我喜欢哪个词,所以请给我整个倒排索引答案。
所以,我的问题是: 对于问题1,如何设计映射器和放大器。减速器?
<'word', log_id>
。 reducer应该遍历所有这些答案,如果它遇到像<'google', log_id>
这样的对,则输出它。<'google', log_id>
,如果遇到其他词,就跳过。如果映射器不符合特定的单词,则不输出任何内容。在这种情况下,简化器只是输出,它不需要工作。那么你能告诉我哪一个更好吗?
答案 0 :(得分:1)
这两个做不同的事情。你的第二个实现适用于问题1,当你有一个确切的单词,你正在寻找。当你不知道你正在寻找的单词时,你的第一个实现适用于问题2。这些是不同解决方案的不同问题。
如果您只是希望解决问题1,那么您的第二个算法将正常工作并且工作更快。