【发布时间】:2019-01-01 01:47:07
【问题描述】:
我正在我的博客网站上实现搜索功能,每个博客可能包含标题、标签、帖子内容等,应该像这样工作,
目标
当用户键入关键字时,它应该以有效的方式搜索包含在 Sql Server 中 3 列中的任何一个中的字符串。
灵感来源
我在用什么
db.postTBs.Where(a => a.isApproved == true && a.isShow == true && a.pageKeyword.Contains(query) || a.pageDescribtion.Contains(query) || a.pageTitle.Contains(query) || a.postContent.Contains(query)).Select(a => a.title).ToList();
但我知道这不是获得结果的好方法,这个查询搜索到这 3 列的特定字符串长度但是当我有长字符串时
只从信誉良好的经销商处购买。任何有信誉的经销商只会直接从公司或值得信赖的经销商处购买。 检查价格。价格看起来好得令人难以置信吗?它可能是。虽然这些网站上有许多诚实的经销商,但亚马逊和 eBay 卖家是销售假字符串的最大罪魁祸首。检查卖家的亚马逊或 eBay 商店以验证他们是谁。如果某人的价格大大低于您所看到的,则很有可能这不是一个合法的字符串被出售。 也从信誉良好的经销商处购买您的乐器!很多便宜的
然后我搜索
亚马逊和易趣
结果不包含实际帖子
但是这个匹配
开启
我还在两列上都应用了Non cluster 键
请帮助如何使用 linq query c# 使搜索高效准确
【问题讨论】:
-
你试过这个
a.pageKeyword.Trim().ToLower().Contains(query.Trim().ToLower())吗? -
是但没有运气结果不准确。
-
您准备好为此使用第三方库了吗?
标签: c# sql-server linq non-clustered-index