跟踪和过滤自定义分析的自动填充关键字

时间:2014-12-04 20:18:53

标签: php mysql autocomplete statistics analytics

我正在创建一个内部自定义分析应用程序,我有一个有趣的问题,我希望听到一些观点。

我们跟踪的其中一个事件是用户的搜索关键字。但是,此功能是作为自动完成实现的,它在3个字符后提交搜索。因此,一个搜索(或7个字符)实际上作为5个查询提交......这是典型的自动完成实现。

我很好奇的是,如果有人知道如何过滤没有价值的'垃圾'搜索,而不是用户想要的最终关键字。我宁愿不实现“GO”按钮并打破自动完成即时过滤功能。

正在使用哪些建议,技术或算法来解决这个问题,是否有人有一些见解?

我认为这不重要,但这是基于PHP / MySQL的SAAS。

1 个答案:

答案 0 :(得分:2)

我一直在研究此问题,以便清理我们的搜索跟踪。很难找到关于如何在自定义实现中跟踪搜索的良好文档。

我发现跟踪自动搜索的最接近的事情是Google的Adwords定义,用于在Google即时搜索期间注册广告展示时(在您键入时返回结果):

  

...当有人使用Google即搜即得时,可以在出现其中一种情况时计算展示次数:

     
      
  • 人员开始输入内容,然后点击页面上的任意位置,例如搜索结果,广告或相关搜索
  •   
  • 人员键入搜索,然后点击"搜索"按钮,按Enter,或从下拉菜单中选择预测查询
  •   
  • 人员停止输入,结果显示至少三秒
  •   

Impressions: Definition - AdWords Help

我看到需要平衡的自动搜索跟踪的两个方面

  1. 我们希望捕获用户行为,包括他/她的查找结果或放弃搜索尝试
  2. 我们想要干净的数据,没有很多部分字符串,实际上是样本中描述的较长搜索尝试的一部分
  3. 关键似乎是定义何时报告搜索活动。采用AdWords规则或与其相近的规则会使我们更接近实际的用户活动 - 删除一些“垃圾”和“垃圾邮件”。用户仍在键入时进行搜索。它似乎不是一个完美的,全面解决方案,而是微调报告的起点。

    至于没有实施" Go"按钮,上面的规则实际上使用它作为报告搜索的条件之一("搜索"按钮)。如果您的其他条件足以过滤,您可以不用。