我对智能搜索功能的实现有疑问。例如,考虑各种电子邮件应用程序中的“智能邮箱”之类的东西。假设您将数据(电子邮件)存储在数据库中,并且根据将为其创建查询的字段,您向最终用户提供不同的选项。现在让我们假设主语、动词、宾语的方法……</p>
例如,假设您有以下内容:
SUBJECTs:message、to_address、from_address、subject、date_received
动词:contains、does_not_contain、is_equal_to、greater_than、less_than
对象:???????
现在,如果不清楚,我想要一个表结构(尽管我不反对某种外部 XMLesque 文件)来存储(并稍后检索/呈现)我的智能搜索/邮箱标准以供以后使用. 例如,使用 SVO,我可以轻松地存储然后重构“两个日期之间的日期”的查询——只需使用“日期大于”和“日期小于”。但是,如果在同一个智能搜索中,我想要一个“介于”或与另一个标准相结合的结果呢?您可以看到它可能会失控——不一定在查询创建中(因为这相当简单),
也许我需要在更细粒度的层面上进行更多思考。也许我需要简单地允许用户为每个条目独立选择 AND 或 OR,而不是使其成为 ALL OR NOTHING 类型的智能搜索(即,而不是 MATCH ALL 或 MATCH ANY,我需要简单地允许他们选择——我只是不想让它变成九头蛇)。
任何输入将不胜感激。如果问题有点不连贯,我很抱歉。已经很晚了,我的大脑已经吐司了。
最好的。