0
我有搜索功能,将搜索条件传递给我的查询,我通过这些搜索条件筛选我的查询,但我很不确定如何通过匹配的单词排序这些结果。OrderBy从搜索功能匹配的词
string[] seperator = { " " };
string[] filteredSearchTerms = searchTerm.Split(seperator, StringSplitOptions.None);
List<Ticket> tickets = (from t in entities.tbl_Ticket
where
t.tbl_Campaign.CampaignName == user.campaignName &
filteredSearchTerms.Any(v => t.Description.Contains(v))
select new Ticket
{
dateAdded = (DateTime)t.DateAdded,
description = t.Description,
name = t.Name,
ticketID = t.TicketID,
statusID = (int)t.StatusID,
SearchTerms = filteredSearchTerms.ToList()
}).AsEnumerable()
.Where(obj => filteredSearchTerms.Any(v => System.Text.RegularExpressions.Regex.IsMatch(obj.description, string.Format(@"\b{0}\b", v))))
.Take(10).ToList();
因此,如果第一个结果了所有在其描述中应该出现在列表的顶部的话呢。我不确定在我目前的情况下是否有可能。我曾尝试过使用与过滤器类似的Where扩展名的OrderByDescending。
任何帮助将不胜感激!
问候,
TEZ