C# 用于搜索多个列的MySQL索引
我很想知道人们怎么想,我们有一个非常小的开发团队,现场没有真正的(核心)数据库专业知识 我们正在确定一个新项目的范围,该项目要求“智能搜索”,这意味着他们指定了模糊搜索,例如: 个人记录(由于事务性要求而保存在innodb中)C# 用于搜索多个列的MySQL索引,c#,asp.net,mysql,full-text-search,C#,Asp.net,Mysql,Full Text Search,我很想知道人们怎么想,我们有一个非常小的开发团队,现场没有真正的(核心)数据库专业知识 我们正在确定一个新项目的范围,该项目要求“智能搜索”,这意味着他们指定了模糊搜索,例如: 个人记录(由于事务性要求而保存在innodb中) 名字(varchar) Lastname(varchar) 电子邮件地址(varchar) Lastlogin(日期时间–每次登录时更新) LastOrder(datetime–接受订单时更新) 他们希望能够搜索任何或多个字段,包括日期列的范围和varchars的部分
- 名字(varchar)
- Lastname(varchar)
- 电子邮件地址(varchar)
- Lastlogin(日期时间–每次登录时更新)
- LastOrder(datetime–接受订单时更新)
- Firstname+lastOrder
- “Steve”会返回所有与Steve一起乞讨的名字,比如“Steve和Steven”(比如?)
- Lastname+EmailAddress+LastLogin
- 2011-01-01和2012-01-01之间的最后登录
- 最新订单<2012-01-01
SELECT
(Firstname LIKE “Steve%”) as fn_matched_data
(Lastlogin BETWEEN 2011-01-01 AND 2012-01-01) as ll_matched_data
FROM TABLE
WHERE Firstname LIKE “Steve%” OR Lastlogin BETWEEN 2011-01-01 AND 2012-01-01
谢谢。
< p>听起来你应该考虑一个专门的外部搜索解决方案,比如谢谢,我可能已经暗示过但是没有在问题中指定,我们有3个Windows 2008服务器运行IIS,将主持这个项目。这是一个ASP.NET 4应用程序,因此,虽然这可能涉及添加额外设备。不过我还是要检查一下。Solr在Windows上运行得很好。实际上,它可以在很多平台上运行——我的理解是,即使是iPhone搜索也是solr支持的。例如:我相信mySQL优化器会忽略没有95%唯一性的索引。创建索引时要小心。