我正在尝试构建对内部支持数据库的搜索 - 每个支持服务单都包含许多电子邮件,我正在尝试找出最佳索引编制方式:
搜索时我想返回一张门票清单(而不是一张按票或其他类似的电子邮件列表)
哪个最好?
答案 0 :(得分:0)
如果您想要结果中的票证列表,请连接电子邮件。否则,您需要维护电子邮件和票证之间的关系。您只能使用文档中的文本字段执行此操作。这可能很慢。但这种关系是可能的
如果您将搜索与关系数据库一起使用索引电子邮件一个接一个就可以了。您检索电子邮件,然后从lucene文档中读取tickedId字段,然后从数据库中读取带有此Id的Ticket。
显然,单独索引电子邮件是更灵活的解决方案。如果将来您需要检索每封电子邮件信息,您可以执行此操作。在所有电子邮件一体化解决方案中,您必须重新索引整个数据库。
答案 1 :(得分:0)
如果您想在故障单级别进行搜索,最有必要将所有故障单的电子邮件合并到一个文档中。
答案 2 :(得分:0)
我认为这里没有明确的“最佳”答案。就个人而言,我可能会在支持服务单的索引中包含电子邮件的文本,因为这样可以让单个索引访问根据电子邮件的文本和支持服务单的其他属性查找支持服务单。不过,这是一种相当主观的事情,因此您可以尝试对不同的策略进行原型设计并进行一些用户测试。