考虑到我有两组对象“问题”和“用户”,它们共享一个关系。
在构建我的 lucene 索引时,我可以单独索引这两个对象,即每个问题的文档和每个用户的文档。
或者我可以有一个数据传输对象,该对象将具有来自问题的属性,并且用户在单个对象中展平并索引此数据传输对象。
在执行搜索时,假设我们可以按问题标题和问题作者进行搜索,这只是一个用户。
出于某种原因,假设我的系统允许用户更改他的显示名称。
索引我的对象以允许在 lucene idex 中反映最新更改的最佳方法是什么?
- 我是否应该为用户和问题提供单独的文档,并让 lucene 根据需要获取所需的问题/用户详细信息?
- 或者,采用数据传输对象方式?当有更改时,只需删除这些文档并重新索引?