【发布时间】:2012-10-31 09:12:03
【问题描述】:
我有一个包含以下字段的文档:
- 字段1
- 字段2
- 字段3
- 字段4
我的表结构如下:
field1 | field2 | field3 | field4 || result
--------------------------------------------------
foo bar MC
foo test1 MR
test2 test3 OM
foo test1 bar CM
当一个文档进来,field1是foo,field2(空值),field3是bar,应该选择结果MC。 当一个文档进来,field1是foo,field2是test1,field3是bar,应该选择结果CM。
当然,您可以检查每一列并将匹配的行保持打开状态,直到您循环每一行。 但是,这个表结构可能会变得非常大,我正在寻找某种算法来解决上述问题,以一种高性能且良好的方式。
有什么想法吗?
【问题讨论】:
-
“文档”是什么意思?这是文本/普通文件吗?此类文件的内容是否总是与您的示例类似?
-
field1等的值是否受限? -
这个问题已经解决了 50 年,结果就是今天的 RDBMS。如果您想实现自己的,只需复制这些解决方案即可。
-
@Tichodroma:文档是带有字段列表的 Java 对象 List
-
@vainolo:field1的值没有限制,可以取任何值
标签: java algorithm design-patterns