2012-06-27 79 views
0

目前,我正在构建一个搜索工具作为一个项目,其中I索引由多个数据库表(即人员和事物)创建的对象。我想知道是否有更好的方式去做这件事,而不是创建与每个人/事物组合相对应的对象(每个组合都有成千上万)。使用Lucene索引复合类型

E.g.创建一个对应于Person 1的对象 - 事物1,另一个对应于Person 1 - 对于Person 1所做的所有N件事情的事物2。然后,索引该对象集合。然后对Person 2做同样的事情。

+1

请举个例子。关于你想要问什么不是很清楚。 – Yavar

+0

如果我理解正确的话,我建议你在你的数据库中创建一个视图,将这两个表连接起来,这样每个人都有一行视图中的一列,它将连接所有人的事情(这将成为Lucene中的多值字段) 。 –

回答

0

如果你不想非规格化记录,你可以使用Join功能。初学者请看this article。性能会比反规范化更差,但它可能足够好。