使用map / reduce查找最短的唯一前缀长度

时间:2011-04-01 21:27:47

标签: couchdb mapreduce

我有一个字符串列表(来自CouchDB中的文档)。

我想找到最小前缀长度,以便所有缩短的字符串(取第一个LEN字符)是唯一的。

例如:

  • AABB
  • AABC
  • ABCD

应该给:LEN是三。

是否可以将其写为map / reduce函数?

1 个答案:

答案 0 :(得分:0)

以蛮力的方式行事:

MAP:使用键为每个输入记录创建“ABCDE”记录  - “一个”   - “AB”   - “ABC”  - “A B C D”   - “ABCDE”

REDUCE:

  • 如果迭代器输出中有1个值:“length(key)”“true”
  • 如果迭代器输出中有多个1值:“length(key)”“false”

MAP:身份映射器

REDUCE:如果所有输入值都为真,则输出“true”。否则输出错误(或没有);

对于所有“独特”的长度,这应该是真的