这篇文章表明我们不应该使用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请回复。谢谢!
答案 0 :(得分:0)
我认为最好选择a)
您只需执行以下操作:
您可以在PredicateBuilder in this blog post
上找到更多信息在itemWebApiRequest管道中,向<processor type="Sitecore.ItemWebApi.Pipelines.Request.CheckParameters, Sitecore.ItemWebApi" >
添加一个新参数。这样的事情:<name desc="item id15">luceneQuery</name>
。
在<processor type="Sitecore.ItemWebApi.Pipelines.Request.ResolveItems, Sitecore.ItemWebApi" />
那就是它。我希望它有所帮助。