Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Database design 如何实现智能搜索/邮箱功能的存储/检索?_Database Design_Data Structures_Full Text Search_Data Storage_Data Retrieval - Fatal编程技术网

Database design 如何实现智能搜索/邮箱功能的存储/检索?

Database design 如何实现智能搜索/邮箱功能的存储/检索?,database-design,data-structures,full-text-search,data-storage,data-retrieval,Database Design,Data Structures,Full Text Search,Data Storage,Data Retrieval,我有一个关于智能搜索功能实现的问题。例如,在不同的电子邮件应用程序中考虑智能邮箱之类的东西。假设您的数据电子邮件存储在数据库中,并且根据要为其创建查询的字段,您向最终用户提供了不同的选项。现在让我们假设主语,动词,宾语 例如,假设您有以下内容: 主题:消息、收件人地址、发件人地址、主题、收到日期 动词:包含、不包含、等于、大于、小于 对象:??????? 现在,如果不清楚的话,我想要一个表结构,尽管我不反对使用某种外部XMLesque文件来存储和稍后检索/呈现智能搜索/邮箱的标准,以供以后使用。

我有一个关于智能搜索功能实现的问题。例如,在不同的电子邮件应用程序中考虑智能邮箱之类的东西。假设您的数据电子邮件存储在数据库中,并且根据要为其创建查询的字段,您向最终用户提供了不同的选项。现在让我们假设主语,动词,宾语

例如,假设您有以下内容:

主题:消息、收件人地址、发件人地址、主题、收到日期 动词:包含、不包含、等于、大于、小于 对象:??????? 现在,如果不清楚的话,我想要一个表结构,尽管我不反对使用某种外部XMLesque文件来存储和稍后检索/呈现智能搜索/邮箱的标准,以供以后使用。例如,使用SVO,我可以轻松地存储并重构两个日期之间的日期查询—只需使用大于日期和小于日期即可。然而,如果在同一个智能搜索中,我想要一个带另一个标准的介于之间的或'ed呢?您可以看到,它可能会失控—不一定是在查询创建中,因为这相当简单,而是在选项表示和存储机制中

也许我需要在更精细的层次上思考更多。也许我需要简单地允许用户独立地选择每个条目的AND或or,而不是让它成为一个ALL或NOUTH类型的智能搜索,也就是说,我需要简单地允许他们选择—我只是不希望它变成Hydra

任何意见都将不胜感激。如果这个问题有点不连贯,我很抱歉。时间不早了,我的脑子都快坏了


最好。

最简单的方法是将所有邮箱信息存储在SQL数据库中,并将主语动词对象转换为SQL where子句。然后让SQL查询编译器为您完成这项工作

这就是苹果在Mail.app中所做的,它使用sqlite数据库来存储所有消息头信息