我需要通过数据库中的产品搜索产品,并且我希望以正确的方式进行设置,以便在有很多行(1,000,000)时能够获得可靠的性能。我对 LINQ 和 EF 有一定的经验,但从未编写过任何搜索算法,并且我有以下代码,但只是有一些挥之不去的问题。
context.products.Where(i => i.Name.ToLower().Contains(searchText.ToLower());
我还需要搜索描述。
context.products.Where(i => i.Description.ToLower().Contains(searchText.ToLower());
.ToLower()
在这种情况下会降低性能吗?我有一个关于描述的常规
Name
索引FullText
?这是否合适,并且常规索引是否可以很好地使用.contains()
?我应该使用 LINQ 还是其他方法?
有没有办法做到这一点,我可以获得搜索文本在名称/描述中出现的次数?
谢谢