【问题标题】:Sitecore 7 Search - Best practice search not using search.ashxSitecore 7 Search - 最佳实践搜索不使用 search.ashx
【发布时间】:2014-09-18 18:28:49
【问题描述】:

这篇文章建议我们不应该使用 search.ashx 在 Sitecore 7 中进行搜索: Sitecore 7 Search - Search.ashx

但是,答案是不正确的,因为您不能使用 Item Web API 进行搜索,它提供 CRUD 访问但不是开箱即用的搜索:

How to Access Sitecore Lucene Search through the Item Web API?

因此,我们只剩下 a) 围绕 .net sitecore 搜索 api 滚动我们自己的搜索包装器并挂钩到 Item Web API 管道或 b) 绑定到内部 Sitecore 搜索服务并希望它不会改变(至少不要太频繁)。就个人而言,我认为选项 b 更脆弱,但让我走得更快。选项 a 涉及更多,但会让我更多地控制我正在使用的搜索界面。但是,如果我们退后一步,Sitecore 似乎应该有一个明确的最佳实践或建议,通过某种 Web 服务在 Sitecore 7 中进行搜索。如果您知道建议或有选项 c,请回复。谢谢!

【问题讨论】:

    标签: search lucene sitecore sitecore7


    【解决方案1】:

    我认为最好使用选项 a)

    您只需执行以下操作:

    1. 实现您的处理器。您需要解析 luceneQuery,然后您可以使用 PredicateBuilder 或 LinqHelper 来构建您的查询。

    您可以在 PredicateBuilder in this blog post找到更多信息

    1. 在 itemWebApiRequest 管道中,将新参数添加到 <processor type="Sitecore.ItemWebApi.Pipelines.Request.CheckParameters, Sitecore.ItemWebApi" >。像这样的东西:<name desc="item id15">luceneQuery</name>

    2. <processor type="Sitecore.ItemWebApi.Pipelines.Request.ResolveItems, Sitecore.ItemWebApi" />之后挂接你的处理器

    就是这样。希望对你有帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-25
      • 1970-01-01
      • 1970-01-01
      • 2021-03-31
      • 2021-01-28
      • 1970-01-01
      相关资源
      最近更新 更多