Sitecore Lucene.net搜索"商品名称"只按命中排序

时间:2015-04-04 22:03:21

标签: sitecore lucene.net

您好我们如何使用Sitecore中的Lucene.net搜索项目名称(http://screencast.com/t/vRAUNgQN)并按点击排序搜索。

1 个答案:

答案 0 :(得分:2)

这不应该是一个问题,因为有很多资源可供选择。这是我的搜索转到的地方:

http://www.sitecore.net/learn/blogs/technical-blogs/sitecore-7-development-team.aspx

我会给你带来疑问,让你开始。

如果您使用的是Sitecore 7及更高版本,则可以使用Linq样式搜索。

using (var context = new ContentSearchManager.GetIndex("indexname").CreateSearchContext())
{
   IQueryable<SearchResultItem> query =context.GetQueryable<SearchResultItem>   ().Where(p=> p["name"].Equals("John"));
}

然后你可以打电话

  SearchResults<SearchResultItem> results = query.GetResults();

这将有一个点击集合

 foreach (var hit in results.Hits)
 {
         hit.Document.Id;

         var relevance = hit.Score;
 ........

每次点击都会有一个Score属性来确定相关性(见上文) - 你应该可以按此排序。默认情况下,我认为无论如何都要通过relvance来排序。您可以使用查询中的Boost功能更改relvency。

对于Sitecore 6.6

我是高级数据库爬虫模块的忠实粉丝 - 它为位于标准搜索API之上的搜索逻辑提供了一个不错的包装。

http://sitecoresupport.blogspot.co.uk/2013/05/advanced-database-crawler-sitecore.html

请记住,如果升级到7,则此模块存在兼容性问题。

或者您可以使用标准的Sitecore搜索API

https://sdn.sitecore.net/upload/sdn5/articles%202/administration/lucene%20search/lcd/lucene_search_engine-a4.pdf

我确定你会把剩下的事情搞清楚