我用fos_elastica在symfony2项目中实现了Elasticsearch。
一切正常(索引数据,更新等)
我目前正在寻找用户行为分析:我想获得10个最多的用户搜索或关键字,以便重新查询它。
例如 :
如果45%的搜索是关于黄色气球的,而45%的搜索是关于红色气球的,我想在我的主页上建议一些黄色或红色的气球
首先,我正在考虑创建symfony2实体,以使用时间戳保存用户搜索,然后计算最近1000次搜索以获取最著名的关键字。尽管它肯定会起作用,但这将是资源杀手。
我想知道Elasticsearch是否能够提供这些以及如何实现它。
我已经读过我可以创建一个索引来存储我的用户查询(那太麻烦了,因为我可以很方便地使用facet来计算它们),但是我不知道如何在没有symfony2的弹性搜索中直接保存它一个专门的实体。
我想提供与我当前实体列表的相关实体的直接链接.
我试图addIdentifier用于相关实体列,但它将我重定向到我当前的实体.
我在文档中没有发现任何解释如何实现这一点.
这是我正在做的一个例子:

我目前正在列出我的"数据配置文件"实体.他们有相关的实体,如"Entrainement","Niveau"或"Program".如果我点击"Se defouler",我希望被重定向到"程序"列表,对于显示相关实体的每个列,我也是如此.
这是我configureListFields当前管理类的实现:
/**
* @param ListMapper $listMapper
*/
protected function configureListFields(ListMapper $listMapper)
{
$listMapper
->addIdentifier( 'type.titre' , null, array ( 'label' => 'Type') )
->add('valeur', null, array ( 'label' => 'Valeur' ) )
->add('bioprofile.titre', null, array ( 'label' => 'Bio Profile' ) )
->add( 'exercicesData.entrainement.niveau.titre', null, array( 'label' => 'Niveau' , 'route' => array( 'name' => 'edit') ) )
->add( 'exercicesData.entrainement.titre' , many_to_one, array ( 'label' => 'Entrainement' ) )
->add( …Run Code Online (Sandbox Code Playgroud)