【问题标题】:Indexing Sitecore Profile Cards and their value索引 Sitecore 个人资料卡及其价值
【发布时间】:2016-03-16 11:19:35
【问题描述】:

我目前正在通过自定义ComputedFieldTracking 字段中对应用于项目的Profile Cards 进行索引。这很好用,我可以根据它匹配我正在搜索的个人资料卡来检索结果。

但是我想考虑Profile Cardvalue。 IE。在 Aviation Profile Card 中具有 10 的结果项应该比在 Aviation Profile Card 中具有 5 的另一个结果更相关。

一个明显的方法是通过Boosting 实现这一点,但这需要在Indexing 时间而不是Search 时间发生。

有没有办法在索引时根据字段中的值应用提升?还是有别的办法?

可以选择在搜索后按个人资料卡值对结果进行排序,但这不是很高效,而是将开销放在索引时。

【问题讨论】:

  • 前几天我正在处理这个问题。我试图使用 Lucene 子文档,但我不确定这是否可行。还考虑将 Coveo 作为一个可能的选择。我还没有提出解决方案,但我正在努力创建一个新索引,它只索引项目、个人资料卡和值。我将把每个配置文件和值作为分隔值推送到单个字段中。这样,我可以获取我的结果、提取配置文件值并即时计算排名。
  • 我认为您正朝着与我相同的方向前进。只是为了帮助你,我想参考我的博客文章,在那里我从跟踪器性能中获取配置文件。 waitingimpatiently.com/…
  • 我曾考虑在您的博客使用的带有管道分隔符的单个字段中使用配置文件 ID 和值。你是怎么找到的?感谢分享帖子,任何有助于提高性能的东西:)

标签: c# lucene sitecore sitecore8


【解决方案1】:

我将通过创建一个自定义规则来解决此问题,该规则根据其个人资料卡的值提升每个索引项。

您可以在下面查看创建提升规则的示例:

编辑:请注意,此方法将对所有索引中所有搜索查询中的项目应用提升。这实际上适用于所有索引时间方法。因此,您可能想要使用查询时间提升。

【讨论】:

  • 我曾考虑过基于规则的提升,但除了创建规则项之外,没有多少资源能够真正解释如何构建规则。我总是可以反编译现有的代码来获得一个想法
猜你喜欢
  • 1970-01-01
  • 2021-07-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-05-20
  • 2015-11-03
相关资源
最近更新 更多