Sitecore 搜索 Api - 如何格式化 Url

Sitecore Search Api - How to get formatted Url

如何从 Sitecore Lucene 搜索中获取格式化的 url?我创建了一个自定义索引,并在根目录下将其更新为 /sitecore/content/websitename/home。

检索到搜索结果时,URL 会附加 https://hostname/websitename/home/sample.aspx. I would like the url to be https://hostname/sample.aspx。索引配置中是否有任何设置需要更新?

在 sites.config 我已经有 rootPath="/sitecore/content/websitename" startItem="/home"

您可以通过两种方式获得url:

  1. 对于索引中的每个结果,获取项目并获取 url 和 LinkManager,就像您通常对任何项目所做的那样。这确实意味着您需要获取会影响性能的项目。
  2. 在您的索引中创建一个计算字段以包含 url。在您的计算字段中,确保生成正确的 link。如果不是,您可能需要检查 url 选项和 Rendering.SiteResolving 设置 (true)。使用调试器验证结果(或使用 Luke 来测试索引)。请记住,如果您在索引中包含 url,则在重命名项目时需要更新其他项目(甚至在 url 中使用时更改显示名称)。该更改项的所有子项在那时也都更改了 url。