Sitecore 7搜索-最佳实践搜索不使用Search.ashx



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

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

如何通过项目Web API访问Sitecore Lucene搜索?

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

我认为最好使用选项a)

你只需要做以下事情:

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

你可以在这个博客文章中找到更多关于PredicateBuilder的信息

  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" /> 后挂接处理器

就是这样。我希望它能有所帮助。

相关内容

  • 没有找到相关文章

最新更新