Mysql 记录实时搜索未命中
我的帮助页面上有一个实时搜索,搜索我们的帮助数据库并返回相关结果。我认为决定需要更多文档的一个好方法是记录搜索结果,而搜索结果不会返回到我们的数据库 通常情况下,这将是非常简单的,但事实上,这是一个实时搜索,使它有点棘手 因此,当有人搜索: 此搜索不返回任何结果。 因为这是一个实时搜索,我们可以搜索: 这是 这个搜索引擎 此搜索返回n 此搜索不返回任何结果。 显然,如果我们只记录完整的短语而不是部分,那将是最好的 现在,我只是将所有搜索结果转储到一个表中,如下所示: id int,搜索字符串文本,计数int 我能想到的唯一可能有帮助的方法就是 在向表中添加新行之前,根据表中的搜索对搜索字符串进行类似的搜索,如果存在匹配项,则不插入或增加计数。然而,我预计这个表会变得非常大,类似的查询会变得非常慢 如果输入值在2秒内没有更改,则编写一些javascript,并发送一个特殊的实时搜索,其中带有一个标记,表示如果未命中,则记录该搜索Mysql 记录实时搜索未命中,mysql,logging,livesearch,Mysql,Logging,Livesearch,我的帮助页面上有一个实时搜索,搜索我们的帮助数据库并返回相关结果。我认为决定需要更多文档的一个好方法是记录搜索结果,而搜索结果不会返回到我们的数据库 通常情况下,这将是非常简单的,但事实上,这是一个实时搜索,使它有点棘手 因此,当有人搜索: 此搜索不返回任何结果。 因为这是一个实时搜索,我们可以搜索: 这是 这个搜索引擎 此搜索返回n 此搜索不返回任何结果。 显然,如果我们只记录完整的短语而不是部分,那将是最好的 现在,我只是将所有搜索结果转储到一个表中,如下所示: id int,搜索字符串文本
在我看来,一定有更好的方法来处理这个问题,但我什么都不知道。有什么想法吗?我在想,如果你需要更快的候选人“遗漏”搜索反馈表,你应该做的是每天、也许是每小时使用一次临时反馈表。在表的生命周期结束时,将对其进行后处理,以便忽略作为其他未命中搜索或成功搜索前缀的任何搜索。剩下的部分进入“真正的”遗漏搜索表。我在想,如果你需要更快的候选人“遗漏”搜索反馈表,你应该做的是使用一个临时的每天,也许是每小时。在表的生命周期结束时,将对其进行后处理,以便忽略作为其他未命中搜索或成功搜索前缀的任何搜索。其余的进入“真正的”遗漏搜索表