Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.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
Mysql 记录实时搜索未命中_Mysql_Logging_Livesearch - Fatal编程技术网

Mysql 记录实时搜索未命中

Mysql 记录实时搜索未命中,mysql,logging,livesearch,Mysql,Logging,Livesearch,我的帮助页面上有一个实时搜索,搜索我们的帮助数据库并返回相关结果。我认为决定需要更多文档的一个好方法是记录搜索结果,而搜索结果不会返回到我们的数据库 通常情况下,这将是非常简单的,但事实上,这是一个实时搜索,使它有点棘手 因此,当有人搜索: 此搜索不返回任何结果。 因为这是一个实时搜索,我们可以搜索: 这是 这个搜索引擎 此搜索返回n 此搜索不返回任何结果。 显然,如果我们只记录完整的短语而不是部分,那将是最好的 现在,我只是将所有搜索结果转储到一个表中,如下所示: id int,搜索字符串文本

我的帮助页面上有一个实时搜索,搜索我们的帮助数据库并返回相关结果。我认为决定需要更多文档的一个好方法是记录搜索结果,而搜索结果不会返回到我们的数据库

通常情况下,这将是非常简单的,但事实上,这是一个实时搜索,使它有点棘手

因此,当有人搜索:

此搜索不返回任何结果。 因为这是一个实时搜索,我们可以搜索:

这是 这个搜索引擎 此搜索返回n 此搜索不返回任何结果。 显然,如果我们只记录完整的短语而不是部分,那将是最好的

现在,我只是将所有搜索结果转储到一个表中,如下所示: id int,搜索字符串文本,计数int

我能想到的唯一可能有帮助的方法就是

在向表中添加新行之前,根据表中的搜索对搜索字符串进行类似的搜索,如果存在匹配项,则不插入或增加计数。然而,我预计这个表会变得非常大,类似的查询会变得非常慢

如果输入值在2秒内没有更改,则编写一些javascript,并发送一个特殊的实时搜索,其中带有一个标记,表示如果未命中,则记录该搜索


在我看来,一定有更好的方法来处理这个问题,但我什么都不知道。有什么想法吗?

我在想,如果你需要更快的候选人“遗漏”搜索反馈表,你应该做的是每天、也许是每小时使用一次临时反馈表。在表的生命周期结束时,将对其进行后处理,以便忽略作为其他未命中搜索或成功搜索前缀的任何搜索。剩下的部分进入“真正的”遗漏搜索表。

我在想,如果你需要更快的候选人“遗漏”搜索反馈表,你应该做的是使用一个临时的每天,也许是每小时。在表的生命周期结束时,将对其进行后处理,以便忽略作为其他未命中搜索或成功搜索前缀的任何搜索。其余的进入“真正的”遗漏搜索表