Sitecore在使用Lucene搜索时返回“流行搜索”?

Sitecore在使用Lucene搜索时返回“流行搜索”?,sitecore,Sitecore,我请求返回搜索Sitecore站点时使用的最常用搜索词列表 我不知道如何使用Sitecore实现这种功能,也不知道Sitecore是否已经准备好了这种功能。我找不到任何详细的文档 我目前正在使用基于搜索的LuceneSearch模块http://trac.sitecore.net/LuceneSearch 但修改为绑定到ListView以方便分页 目前,我可能只想构建一个独立的函数/类来更新XML文件或其他东西,除非有人能为我指出正确的方向…?我不知道Sitecore中有任何标准功能可以帮助您实

我请求返回搜索Sitecore站点时使用的最常用搜索词列表

我不知道如何使用Sitecore实现这种功能,也不知道Sitecore是否已经准备好了这种功能。我找不到任何详细的文档

我目前正在使用基于搜索的LuceneSearch模块http://trac.sitecore.net/LuceneSearch 但修改为绑定到ListView以方便分页


目前,我可能只想构建一个独立的函数/类来更新XML文件或其他东西,除非有人能为我指出正确的方向…?

我不知道Sitecore中有任何标准功能可以帮助您实现这一点,因此,您可能必须从头开始处理此问题-除非这里的其他人能够指出某个地方的一揽子交易:-

解决这个问题,实际上可以分为两个任务

1收集搜索词信息。每当用户在搜索框中输入我认为您有的搜索词时;将其标准化并存储在SQL表中,本质上是一个[term][count]类型的表。根据已存储的条款更新计数器

所谓标准化,我指的是将其小写,等等——可能会将每个搜索词分解并逐个存储,如果这是您的解决方案所要求的,那么可能不是我要走的路线

2根据用户在搜索框中键入的内容,从表中实时检索信息。假设你想要某种类似亚马逊的东西——现在几乎所有主要的搜索引擎都能找到——自动完成。我通常在web服务中实现这些功能,然后由Ajax、JQuery或任何您喜欢的富客户机实现调用这些功能

至于更新XML文件,我认为锁定问题和性能会扼杀该解决方案;尽管它也许可以在非常小的规模上工作


很抱歉,我的回答不能更具体,但你的问题是非常开放的。

非常有趣的问题。你可以做的一件事是用另一个数据库来存储这些搜索查询。插入到这个数据库不会很困难,并且可以绕过锁定XML文件的问题。可能将搜索查询插入到DB表中,然后只需按该查询字段的顺序拉取顶部的x行即可获得顶部结果。正如Mark Cassidy之前所说的,在插入数据之前,可能需要对数据进行规范化


您可以在搜索布局或子布局上隔离此工作,使其在站点的特定部分上运行,而不是在每个页面上运行。

坦率地说,我会使用OMS实现这一点-这就是它的设计目的。不需要单独的数据库。只需通过API向OMS注册搜索事件。有一个现成的搜索报告。可能需要一些调整,但这似乎是最现成的解决方案


.

Sitecore在executive insight仪表板中有一个开箱即用的网站搜索报告,这将告诉您哪些搜索词推动了最多的访问,当然还有参与价值。 您只需要通过在搜索页面上注册页面事件并传递查询来配置它,否则sitecore将不知道构成搜索的表单字段。请看这篇文章,它将更详细地解释这一点。有关更多信息,您可以从sdn下载分析配置参考文档。 别忘了为了提高性能,sitecore会在不同级别缓存报告,因此在开发过程中,知道如何强制缓存更新可能会很方便,我在下面的博文中对此进行了讨论:

可能是最简单的,但OMS模块需要Sitecore 6.x,而且在imo中相当昂贵。但对于Sitecore 6.x++中的更大解决方案,这是一种简单的解决方法。我将对此进行研究,看看OMS是否适合此项目。这似乎是最好的选择。谢谢