我正在创建一个内部自定义分析应用程序,我有一个有趣的问题,我希望听到一些观点。
我们跟踪的其中一个事件是用户的搜索关键字。但是,此功能是作为自动完成实现的,它在3个字符后提交搜索。因此,一个搜索(或7个字符)实际上作为5个查询提交......这是典型的自动完成实现。
我很好奇的是,如果有人知道如何过滤没有价值的'垃圾'搜索,而不是用户想要的最终关键字。我宁愿不实现“GO”按钮并打破自动完成即时过滤功能。
正在使用哪些建议,技术或算法来解决这个问题,是否有人有一些见解?
我认为这不重要,但这是基于PHP / MySQL的SAAS。
答案 0 :(得分:2)
我一直在研究此问题,以便清理我们的搜索跟踪。很难找到关于如何在自定义实现中跟踪搜索的良好文档。
我发现跟踪自动搜索的最接近的事情是Google的Adwords定义,用于在Google即时搜索期间注册广告展示时(在您键入时返回结果):
...当有人使用Google即搜即得时,可以在出现其中一种情况时计算展示次数:
- 人员开始输入内容,然后点击页面上的任意位置,例如搜索结果,广告或相关搜索
- 人员键入搜索,然后点击"搜索"按钮,按Enter,或从下拉菜单中选择预测查询
- 人员停止输入,结果显示至少三秒
Impressions: Definition - AdWords Help
我看到需要平衡的自动搜索跟踪的两个方面
关键似乎是定义何时报告搜索活动。采用AdWords规则或与其相近的规则会使我们更接近实际的用户活动 - 删除一些“垃圾”和“垃圾邮件”。用户仍在键入时进行搜索。它似乎不是一个完美的,全面解决方案,而是微调报告的起点。
至于没有实施" Go"按钮,上面的规则实际上使用它作为报告搜索的条件之一("搜索"按钮)。如果您的其他条件足以过滤,您可以不用。